diff --git a/DBASE/HMS/GEN/KPP_Spring_2017/general.param b/DBASE/HMS/GEN/KPP_Spring_2017/general.param index df6aaa98466e9358884f89d71621e34d65af4ee7..dc882c1be507251a1d6f0c723417ce1a4831e399 100644 --- a/DBASE/HMS/GEN/KPP_Spring_2017/general.param +++ b/DBASE/HMS/GEN/KPP_Spring_2017/general.param @@ -8,6 +8,7 @@ cminch=2.54 #include "PARAM/GEN/gdebug.param" #include "PARAM/GEN/gtarget.param" #include "PARAM/GEN/gbeam.param" +#include "PARAM/GEN/gscalers.param" ; General HMS parameter files ; Note: hmsflags.param includes spectrometer offsets and options. diff --git a/DBASE/HMS/GEN/general.param b/DBASE/HMS/GEN/general.param index 35d2811dfb459645ee469397ebe77e010917167e..b127acce5f30aceac0971b1cde45317b6527ec7f 100644 --- a/DBASE/HMS/GEN/general.param +++ b/DBASE/HMS/GEN/general.param @@ -8,6 +8,7 @@ cminch=2.54 #include "PARAM/GEN/gdebug.param" #include "PARAM/GEN/gtarget.param" #include "PARAM/GEN/gbeam.param" +#include "PARAM/GEN/gscalers.param" ; General HMS parameter files ; Note: hmsflags.param includes spectrometer offsets and options. diff --git a/DEF-files/HMS/PRODUCTION/hstackana_production_cuts_kpp.def b/DEF-files/HMS/PRODUCTION/hstackana_production_cuts_kpp.def new file mode 100644 index 0000000000000000000000000000000000000000..becf341f1eb949d9d891d1e877687c3ec1642f9a --- /dev/null +++ b/DEF-files/HMS/PRODUCTION/hstackana_production_cuts_kpp.def @@ -0,0 +1,201 @@ +# Report file for HMS stack + +Block: RawDecode + +Pedestal_event g.evtyp == 99 + +HMS_trig_1_event g.evtyp == 1 +HMS_trig_2_event g.evtyp == 2 +HMS_trig_3_event g.evtyp == 3 +HMS_trig_4_event g.evtyp == 4 +HMS_trig_5_event g.evtyp == 5 +HMS_trig_6_event g.evtyp == 6 +HMS_event HMS_trig_1_event || HMS_trig_2_event || HMS_trig_3_event || HMS_trig_4_event || HMS_trig_5_event || HMS_trig_6_event + +RawDecode_master 1 + +Block: Decode + +hms_trigs HMS_event + +Decode_master HMS_event + +Block: CoarseTracking +CoarseTracking_master HMS_event + +#add cuts to stricter times and apply them to drift distances (HMS 6 GeV Drift Chambers) +time_cut1 H.dc.1x1.time > 0 && H.dc.1x1.time < 250 +time_cut2 H.dc.1y1.time > 0 && H.dc.1y1.time < 250 +time_cut3 H.dc.1u1.time > 0 && H.dc.1u1.time < 250 +time_cut4 H.dc.1v1.time > 0 && H.dc.1v1.time < 250 +time_cut5 H.dc.1y2.time > 0 && H.dc.1y2.time < 250 +time_cut6 H.dc.1x2.time > 0 && H.dc.1x2.time < 250 +time_cut7 H.dc.2x1.time > 0 && H.dc.2x1.time < 250 +time_cut8 H.dc.2y1.time > 0 && H.dc.1y1.time < 250 +time_cut9 H.dc.2u1.time > 0 && H.dc.2u1.time < 250 +time_cut10 H.dc.2v1.time > 0 && H.dc.2v1.time < 250 +time_cut11 H.dc.2y2.time > 0 && H.dc.2y2.time < 250 +time_cut12 H.dc.2x2.time > 0 && H.dc.2x2.time < 250 + + + +hmsDC1Planes_large (H.dc.1x1.nhit+H.dc.1y1.nhit+H.dc.1u1.nhit+H.dc.1v1.nhit+H.dc.1x2.nhit+H.dc.1y2.nhit) >20 +hmsDC2Planes_large (H.dc.2x1.nhit+H.dc.2y1.nhit+H.dc.2u1.nhit+H.dc.2v1.nhit+H.dc.2x2.nhit+H.dc.2y2.nhit) >20 + +hmsDC1_1hit_x1 H.dc.1x1.nhit == 1 +hmsDC1_1hit_y1 H.dc.1y1.nhit == 1 +hmsDC1_1hit_u1 H.dc.1u1.nhit == 1 +hmsDC1_1hit_v1 H.dc.1v1.nhit == 1 +hmsDC1_1hit_y2 H.dc.1y2.nhit == 1 +hmsDC1_1hit_x2 H.dc.1x2.nhit == 1 + +hmsDC2_1hit_x1 H.dc.2x1.nhit == 1 +hmsDC2_1hit_y1 H.dc.2y1.nhit == 1 +hmsDC2_1hit_u1 H.dc.2u1.nhit == 1 +hmsDC2_1hit_v1 H.dc.2v1.nhit == 1 +hmsDC2_1hit_y2 H.dc.2y2.nhit == 1 +hmsDC2_1hit_x2 H.dc.2x2.nhit == 1 + +h1hit1 H.dc.1x1.nhit >= 1 +h1hit2 H.dc.1y1.nhit >= 1 +h1hit3 H.dc.1u1.nhit >= 1 +h1hit4 H.dc.1v1.nhit >= 1 +h1hit5 H.dc.1y2.nhit >= 1 +h1hit6 H.dc.1x2.nhit >= 1 + +h2hit1 H.dc.2x1.nhit >= 1 +h2hit2 H.dc.2y1.nhit >= 1 +h2hit3 H.dc.2u1.nhit >= 1 +h2hit4 H.dc.2v1.nhit >= 1 +h2hit5 H.dc.2y2.nhit >= 1 +h2hit6 H.dc.2x2.nhit >= 1 + +hmsDC1Planes6hits (H.dc.1x1.nhit+H.dc.1y1.nhit+H.dc.1u1.nhit+H.dc.1v1.nhit+H.dc.1x2.nhit+H.dc.1y2.nhit) ==6 +hmsDC2Planes6hits (H.dc.2x1.nhit+H.dc.2y1.nhit+H.dc.2u1.nhit+H.dc.2v1.nhit+H.dc.2x2.nhit+H.dc.2y2.nhit )==6 +hmsDC1_5hits_x1 hmsDC1_1hit_y1&&hmsDC1_1hit_u1&&hmsDC1_1hit_v1&&hmsDC1_1hit_x2&&hmsDC1_1hit_y2 +hmsDC1_6hits_x1 h1hit1&&hmsDC1_1hit_y1&&hmsDC1_1hit_u1&&hmsDC1_1hit_v1&&hmsDC1_1hit_x2&&hmsDC1_1hit_y2 +hmsDC1_5hits_y1 hmsDC1_1hit_x1&&hmsDC1_1hit_u1&&hmsDC1_1hit_v1&&hmsDC1_1hit_x2&&hmsDC1_1hit_y2 +hmsDC1_6hits_y1 h1hit2&&hmsDC1_1hit_x1&&hmsDC1_1hit_u1&&hmsDC1_1hit_v1&&hmsDC1_1hit_x2&&hmsDC1_1hit_y2 +hmsDC1_5hits_u1 hmsDC1_1hit_x1&&hmsDC1_1hit_y1&&hmsDC1_1hit_v1&&hmsDC1_1hit_x2&&hmsDC1_1hit_y2 +hmsDC1_6hits_u1 h1hit3&&hmsDC1_1hit_x1&&hmsDC1_1hit_y1&&hmsDC1_1hit_v1&&hmsDC1_1hit_x2&&hmsDC1_1hit_y2 +hmsDC1_5hits_v1 hmsDC1_1hit_x1&&hmsDC1_1hit_y1&&hmsDC1_1hit_u1&&hmsDC1_1hit_x2&&hmsDC1_1hit_y2 +hmsDC1_6hits_v1 h1hit4&&hmsDC1_1hit_x1&&hmsDC1_1hit_y1&&hmsDC1_1hit_u1&&hmsDC1_1hit_x2&&hmsDC1_1hit_y2 +hmsDC1_5hits_x2 hmsDC1_1hit_x1&&hmsDC1_1hit_y1&&hmsDC1_1hit_u1&&hmsDC1_1hit_v1&&hmsDC1_1hit_y2 +hmsDC1_6hits_x2 h1hit6&&hmsDC1_1hit_x1&&hmsDC1_1hit_y1&&hmsDC1_1hit_u1&&hmsDC1_1hit_v1&&hmsDC1_1hit_y2 +hmsDC1_5hits_y2 hmsDC1_1hit_x1&&hmsDC1_1hit_y1&&hmsDC1_1hit_u1&&hmsDC1_1hit_v1&&hmsDC1_1hit_x2 +hmsDC1_6hits_y2 h1hit5&&hmsDC1_1hit_x1&&hmsDC1_1hit_y1&&hmsDC1_1hit_u1&&hmsDC1_1hit_v1&&hmsDC1_1hit_x2 + +hmsDC2_5hits_x1 hmsDC2_1hit_y1&&hmsDC2_1hit_u1&&hmsDC2_1hit_v1&&hmsDC2_1hit_x2&&hmsDC2_1hit_y2 +hmsDC2_6hits_x1 h2hit1&&hmsDC2_1hit_y1&&hmsDC2_1hit_u1&&hmsDC2_1hit_v1&&hmsDC2_1hit_x2&&hmsDC2_1hit_y2 +hmsDC2_5hits_y1 hmsDC2_1hit_x1&&hmsDC2_1hit_u1&&hmsDC2_1hit_v1&&hmsDC2_1hit_x2&&hmsDC2_1hit_y2 +hmsDC2_6hits_y1 h2hit2&&hmsDC2_1hit_x1&&hmsDC2_1hit_u1&&hmsDC2_1hit_v1&&hmsDC2_1hit_x2&&hmsDC2_1hit_y2 +hmsDC2_5hits_u1 hmsDC2_1hit_x1&&hmsDC2_1hit_y1&&hmsDC2_1hit_v1&&hmsDC2_1hit_x2&&hmsDC2_1hit_y2 +hmsDC2_6hits_u1 h2hit3&&hmsDC2_1hit_x1&&hmsDC2_1hit_y1&&hmsDC2_1hit_v1&&hmsDC2_1hit_x2&&hmsDC2_1hit_y2 +hmsDC2_5hits_v1 hmsDC2_1hit_x1&&hmsDC2_1hit_y1&&hmsDC2_1hit_u1&&hmsDC2_1hit_x2&&hmsDC2_1hit_y2 +hmsDC2_6hits_v1 h2hit4&&hmsDC2_1hit_x1&&hmsDC2_1hit_y1&&hmsDC2_1hit_u1&&hmsDC2_1hit_x2&&hmsDC2_1hit_y2 +hmsDC2_5hits_x2 hmsDC2_1hit_x1&&hmsDC2_1hit_y1&&hmsDC2_1hit_u1&&hmsDC2_1hit_v1&&hmsDC2_1hit_y2 +hmsDC2_6hits_x2 h2hit6&&hmsDC2_1hit_x1&&hmsDC2_1hit_y1&&hmsDC2_1hit_u1&&hmsDC2_1hit_v1&&hmsDC2_1hit_y2 +hmsDC2_5hits_y2 hmsDC2_1hit_x1&&hmsDC2_1hit_y1&&hmsDC2_1hit_u1&&hmsDC2_1hit_v1&&hmsDC2_1hit_x2 +hmsDC2_6hits_y2 h2hit5&&hmsDC2_1hit_x1&&hmsDC2_1hit_y1&&hmsDC2_1hit_u1&&hmsDC2_1hit_v1&&hmsDC2_1hit_x2 + + + + +hms1HitsLt H.dc.Ch1.nhit <= H.dc.Ch1.maxhits && g.evtyp==1 +hms2HitsLt H.dc.Ch2.nhit <= H.dc.Ch2.maxhits && g.evtyp==1 +hmsHitsLt H.dc.Ch1.nhit <= H.dc.Ch1.maxhits && H.dc.Ch2.nhit <= H.dc.Ch2.maxhits && g.evtyp==1 +hmsDC1PlanesGT (h1hit1 + h1hit2 + h1hit3 + h1hit4 + h1hit5 + h1hit6 )>=5 +hmsDC2PlanesGT (h2hit1 + h2hit2 + h2hit3 + h2hit4 + h2hit5 + h2hit6 )>=5 +hmsPlanesGT hmsDC1PlanesGT && hmsDC2PlanesGT +hmsHitsPlanes (H.dc.Ch1.nhit <= H.dc.Ch1.maxhits) && (H.dc.Ch2.nhit <= H.dc.Ch2.maxhits) && hmsPlanesGT +hSpacePoints H.dc.Ch1.spacepoints >= 1 && H.dc.Ch2.spacepoints >=1 +hSpacePointsStub H.dc.stubtest==1 && H.dc.Ch1.spacepoints >=1 && H.dc.Ch2.spacepoints >=1 +hFoundTrack H.dc.ntrack>0 +hStubLT H.dc.stubtest==1 +f1HSpacePoints hms1HitsLt && hmsDC1PlanesGT && H.dc.Ch1.spacepoints==0 && g.evtyp==1 +f2HSpacePoints hms2HitsLt && hmsDC2PlanesGT && H.dc.Ch2.spacepoints==0 && g.evtyp==1 +hTest1 hmsHitsPlanes && (!hSpacePoints) +hTest2 hSpacePoints && (!hStubLT) + +Block: CoarseReconstruct +CoarseReconstruct_master HMS_event + +Block: Tracking +Tracking_master HMS_event + +Block: Reconstruct +Reconstruct_master HMS_event +cer_pmt1_elec H.cer.npe[0]>.5 +cer_pmt2_elec H.cer.npe[0]>.5 +cer_elec H.cer.npeSum>.5 +cer_pi H.cer.npeSum<.5 + +HMSScinGood H.hod.goodscinhit == 1 + +HMSScinShould HMSScinGood +HMSScinShoulde HMSScinGood && H.cal.etotnorm > 0.6&& H.cal.etotnorm < 2.0&& H.cer.npeSum > 0.5 +HMSScinShouldh HMSScinGood && H.cal.etotnorm <0.6&& H.cal.etotnorm>0.0&& H.cer.npeSum < 0.5 + +HMSScinDid HMSScinShould && H.dc.ntrack > 0 +HMSScinDide HMSScinShoulde && H.dc.ntrack > 0 +HMSScinDidh HMSScinShouldh && H.dc.ntrack > 0 + + + +goodHDC1x1 H.dc.1x1.nhit > 0 && H.dc.1x1.nhit < 3 +goodHDC1y1 H.dc.1y1.nhit > 0 && H.dc.1y1.nhit < 3 +goodHDC1u1 H.dc.1u1.nhit > 0 && H.dc.1u1.nhit < 3 +goodHDC1v1 H.dc.1v1.nhit > 0 && H.dc.1v1.nhit < 3 +goodHDC1y2 H.dc.1y2.nhit > 0 && H.dc.1y2.nhit < 3 +goodHDC1x2 H.dc.1x2.nhit > 0 && H.dc.1x2.nhit < 3 + +goodHDC2x1 H.dc.2x1.nhit > 0 && H.dc.2x1.nhit < 3 +goodHDC2y1 H.dc.2y1.nhit > 0 && H.dc.2y1.nhit < 3 +goodHDC2u1 H.dc.2u1.nhit > 0 && H.dc.2u1.nhit < 3 +goodHDC2v1 H.dc.2v1.nhit > 0 && H.dc.2v1.nhit < 3 +goodHDC2y2 H.dc.2y2.nhit > 0 && H.dc.2y2.nhit < 3 +goodHDC2x2 H.dc.2x2.nhit > 0 && H.dc.2x2.nhit < 3 + +goodHDC1 goodHDC1x1 && goodHDC1y1 && goodHDC1u1 && goodHDC1v1 && goodHDC1y2 && goodHDC1x2 +goodHDC2 goodHDC2x1 && goodHDC2y1 && goodHDC2u1 && goodHDC2v1 && goodHDC2y2 && goodHDC2x2 +bothGood goodHDC1 && goodHDC2 + +realhdc1x1 goodHDC1x1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0) +realhdc1y1 goodHDC1y1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0) +realhdc1u1 goodHDC1u1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0) +realhdc1v1 goodHDC1v1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0) +realhdc1y2 goodHDC1y2 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0) +realhdc1x2 goodHDC1x2 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0) +realhdc2x1 goodHDC2x1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0) +realhdc2y1 goodHDC2y1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0) +realhdc2u1 goodHDC2u1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0) +realhdc2v1 goodHDC2v1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0) +realhdc2y2 goodHDC2y2 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0) +realhdc2x2 goodHDC2x2 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0) + +hFound1Track H.dc.ntrack == 1 +hFound2Track H.dc.ntrack == 2 +hFound3Track H.dc.ntrack == 3 +hFound4Track H.dc.ntrack == 4 + +hCleanTrack H.gtr.index > -1 +1hCleanTrack H.gtr.index == 0 +2hCleanTrack H.gtr.index == 1 +3hCleanTrack H.gtr.index == 2 +4hCleanTrack H.gtr.index == 3 + +anyhs1x H.hod.1x.nhits > 0 +anyhs1y H.hod.1y.nhits > 0 +anyhs2x H.hod.2x.nhits > 0 +anyhs2y H.hod.2y.nhits > 0 + +goodhs1x H.hod.1x.nhits > 0 && H.hod.1x.nhits < 3 +goodhs1y H.hod.1y.nhits > 0 && H.hod.1y.nhits < 3 +goodhs1 goodhs1x && goodhs1y +goodhs2x H.hod.2x.nhits > 0 && H.hod.2x.nhits < 3 +goodhs2y H.hod.2y.nhits > 0 && H.hod.2y.nhits < 3 +goodhs2 goodhs2x && goodhs2y +goodhs1s2 goodhs1 && goodhs2 + +Block: Physics +Physics_master HMS_event diff --git a/DEF-files/HMS/PRODUCTION/hstackana_production_kpp.def b/DEF-files/HMS/PRODUCTION/hstackana_production_kpp.def new file mode 100644 index 0000000000000000000000000000000000000000..77240108a8073397b9a0ac38d8f622458315e6f9 --- /dev/null +++ b/DEF-files/HMS/PRODUCTION/hstackana_production_kpp.def @@ -0,0 +1,604 @@ + + +#******************** +# Block Definitions * +#******************** + +block T.hms.* +block H.cer.* +block H.dc.* +block H.tr.* +block H.hod.* +block H.cal.* +block H.gtr.* +block H.kin.* + + +#******************** +# HMS Gas Cherenkov * +#******************** + +#----------------------------------------- +# HMS Gas CER GOOD Occupancy and Multiplicity +#----------------------------------------- + +TH1F hcer_good_occ 'HMS Cherenkov Good Occupancy; PMT Number; Number of Entries' H.cer.numGoodAdcHits 2 0.5 2.5 +TH1F hcer_good_mult 'HMS Cherenkov Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits / PMT' H.cer.totNumGoodAdcHits 2 0.5 2.5 + +#------------------------------------------------------------------------------- +# HMS Gas CER GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time +# GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window) +#------------------------------------------------------------------------------- + +TH2F hcer_good_pped_vs_pmt 'HMS Cherenkov Good Pulse Pedestal vs. PMT Number; PMT Number; Pulse Pedestal / 1 ADC Units' [I+1] H.cer.goodAdcPed 2 0.5 2.5 400 300 700 +TH2F hcer_good_pi_vs_pmt 'HMS Cherenkov Good Pulse Integral vs. PMT Number; PMT Number; Pulse Integral / 50 ADC Units' [I+1] H.cer.goodAdcPulseInt 2 0.5 2.5 600 0 30000 H.cer.goodAdcPulseInt>0.0 +TH2F hcer_good_pamp_vs_pmt 'HMS Cherenkov Good Pulse Amplitude vs. PMT Number; PMT Number; Pulse Amplitude / 20 ADC Units' [I+1] H.cer.goodAdcPulseAmp 2 0.5 2.5 200 0 4000 H.cer.goodAdcPulseAmp>0.0 +TH2F hcer_good_ptime_vs_pmt 'HMS Cherenkov Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] H.cer.goodAdcPulseTime 2 0.5 2.5 350 0 3500 H.cer.goodAdcPulseTime>0.0 + +#----------------------------------- +# HMS Gas CER Number of P.E. / PMT +#----------------------------------- + +TH2F hcer_npe 'HMS Cherenkov Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] H.cer.npe 2 0.5 2.5 200 0 100 H.cer.npe>0.0 + + +#---------------------------------- +# HMS Gas CER TOTAL NUMBER OF P.E. +#---------------------------------- + +TH1F hcer_tot_npe 'HMS Cherenkov Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' H.cer.npeSum 200 0 100 H.cer.npeSum>0.0 + +#-------------------------- +# HMS Gas CER TRACK MATCHING +#-------------------------- + +TH1F hcer_trk_match 'HMS Gas Cherenkov Track Matches; PMT Number; Number of Tracks Matched' H.cer.numTracksMatched 2 0.5 2.5 +TH1F hcer_trk_fired 'HMS Gas Cherenkov Tracks Fired; PMT Number; Number of Tracks Fired' H.cer.numTracksFired 2 0.5 2.5 + + + +#*************************** +# HMS 6 GeV Drift Chambers * +#*************************** + +#----------------- +# HMS DC WIREMAP +#----------------- + +TH1F hdc1x1_wirenum 'HMS DC 1X1 Wiremap; Wire Number; Number of Entries' H.dc.1x1.wirenum 113 0.5 113.5 +TH1F hdc1y1_wirenum 'HMS DC 1Y1 Wiremap; Wire Number; Number of Entries' H.dc.1y1.wirenum 52 0.5 52.5 +TH1F hdc1u1_wirenum 'HMS DC 1U1 Wiremap; Wire Number; Number of Entries' H.dc.1u1.wirenum 107 0.5 107.5 +TH1F hdc1v1_wirenum 'HMS DC 1V1 Wiremap; Wire Number; Number of Entries' H.dc.1v1.wirenum 107 0.5 107.5 +TH1F hdc1y2_wirenum 'HMS DC 1Y2 Wiremap; Wire Number; Number of Entries' H.dc.1y2.wirenum 52 0.5 52.5 +TH1F hdc1x2_wirenum 'HMS DC 1X2 Wiremap; Wire Number; Number of Entries' H.dc.1x2.wirenum 113 0.5 113.5 + +TH1F hdc2x1_wirenum 'HMS DC 2X1 Wiremap; Wire Number; Number of Entries' H.dc.2x1.wirenum 113 0.5 113.5 +TH1F hdc2y1_wirenum 'HMS DC 2Y1 Wiremap; Wire Number; Number of Entries' H.dc.2y1.wirenum 52 0.5 52.5 +TH1F hdc2u1_wirenum 'HMS DC 2U1 Wiremap; Wire Number; Number of Entries' H.dc.2u1.wirenum 107 0.5 107.5 +TH1F hdc2v1_wirenum 'HMS DC 2V1 Wiremap; Wire Number; Number of Entries' H.dc.2v1.wirenum 107 0.5 107.5 +TH1F hdc2y2_wirenum 'HMS DC 2Y2 Wiremap; Wire Number; Number of Entries' H.dc.2y2.wirenum 52 0.5 52.5 +TH1F hdc2x2_wirenum 'HMS DC 2X2 Wiremap; Wire Number; Number of Entries' H.dc.2x2.wirenum 113 0.5 113.5 + +#----------------------------- +# HMS DC DRIFT TIME PER PLANE +#----------------------------- + +TH1F hdc1x1_drifttime 'HMS DC 1X1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' H.dc.1x1.time 400 -50 350 +TH1F hdc1y1_drifttime 'HMS DC 1Y1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' H.dc.1y1.time 400 -50 350 +TH1F hdc1u1_drifttime 'HMS DC 1U1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' H.dc.1u1.time 400 -50 350 +TH1F hdc1v1_drifttime 'HMS DC 1V1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' H.dc.1v1.time 400 -50 350 +TH1F hdc1y2_drifttime 'HMS DC 1Y2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' H.dc.1y2.time 400 -50 350 +TH1F hdc1x2_drifttime 'HMS DC 1X2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' H.dc.1x2.time 400 -50 350 + +TH1F hdc2x1_drifttime 'HMS DC 2X1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' H.dc.2x1.time 400 -50 350 +TH1F hdc2y1_drifttime 'HMS DC 2Y1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' H.dc.2y1.time 400 -50 350 +TH1F hdc2u1_drifttime 'HMS DC 2U1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' H.dc.2u1.time 400 -50 350 +TH1F hdc2v1_drifttime 'HMS DC 2V1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' H.dc.2v1.time 400 -50 350 +TH1F hdc2y2_drifttime 'HMS DC 2Y2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' H.dc.2y2.time 400 -50 350 +TH1F hdc2x2_drifttime 'HMS DC 2X2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' H.dc.2x2.time 400 -50 350 + +#---------------------------------- +# HMS DC DRIFT TIME VS. WIRENUMBER +#---------------------------------- + +TH2F hdc1x1_drifttime_vs_wirenum 'HMS DC 1X1 Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' H.dc.1x1.wirenum H.dc.1x1.time 113 0.5 113.5 600 -100 500 +TH2F hdc1y1_drifttime_vs_wirenum 'HMS DC 1Y1 Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' H.dc.1y1.wirenum H.dc.1y1.time 52 0.5 52.5 600 -100 500 +TH2F hdc1u1_drifttime_vs_wirenum 'HMS DC 1U1 Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' H.dc.1u1.wirenum H.dc.1u1.time 107 0.5 107.5 600 -100 500 +TH2F hdc1v1_drifttime_vs_wirenum 'HMS DC 1V1 Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' H.dc.1v1.wirenum H.dc.1v1.time 107 0.5 107.5 600 -100 500 +TH2F hdc1y2_drifttime_vs_wirenum 'HMS DC 1Y2 Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' H.dc.1y2.wirenum H.dc.1y2.time 52 0.5 52.5 600 -100 500 +TH2F hdc1x2_drifttime_vs_wirenum 'HMS DC 1X2 Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' H.dc.1x2.wirenum H.dc.1x2.time 113 0.5 113.5 600 -100 500 + +TH2F hdc2x1_drifttime_vs_wirenum 'HMS DC 2X1 Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' H.dc.2x1.wirenum H.dc.2x1.time 113 0.5 113.5 600 -100 500 +TH2F hdc2y1_drifttime_vs_wirenum 'HMS DC 2Y1 Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' H.dc.2y1.wirenum H.dc.2y1.time 52 0.5 52.5 600 -100 500 +TH2F hdc2u1_drifttime_vs_wirenum 'HMS DC 2U1 Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' H.dc.2u1.wirenum H.dc.2u1.time 107 0.5 107.5 600 -100 500 +TH2F hdc2v1_drifttime_vs_wirenum 'HMS DC 2V1 Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' H.dc.2v1.wirenum H.dc.2v1.time 107 0.5 107.5 600 -100 500 +TH2F hdc2y2_drifttime_vs_wirenum 'HMS DC 2Y2 Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' H.dc.2y2.wirenum H.dc.2y2.time 52 0.5 52.5 600 -100 500 +TH2F hdc2x2_drifttime_vs_wirenum 'HMS DC 2X2 Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' H.dc.2x2.wirenum H.dc.2x2.time 113 0.5 113.5 600 -100 500 + +#--------------------------------- +# HMS DC Drift Distance Per Plane +#--------------------------------- + +TH1F hdc1x1_ddist 'HMS 1X1 Drift Distance; Drift Distance (cm); Number of Entries' H.dc.1x1.dist 28 -0.1 0.6 +TH1F hdc1y1_ddist 'HMS 1Y1 Drift Distance; Drift Distance (cm); Number of Entries' H.dc.1y1.dist 28 -0.1 0.6 +TH1F hdc1u1_ddist 'HMS 1U1 Drift Distance; Drift Distance (cm); Number of Entries' H.dc.1u1.dist 28 -0.1 0.6 +TH1F hdc1v1_ddist 'HMS 1V1 Drift Distance; Drift Distance (cm); Number of Entries' H.dc.1v1.dist 28 -0.1 0.6 +TH1F hdc1y2_ddist 'HMS 1Y2 Drift Distance; Drift Distance (cm); Number of Entries' H.dc.1y2.dist 28 -0.1 0.6 +TH1F hdc1x2_ddist 'HMS 1X2 Drift Distance; Drift Distance (cm); Number of Entries' H.dc.1x2.dist 28 -0.1 0.6 + +TH1F hdc2x1_ddist 'HMS 2U2 Drift Distance; Drift Distance (cm); Number of Entries' H.dc.2x1.dist 28 -0.1 0.6 +TH1F hdc2y1_ddist 'HMS 2U1 Drift Distance; Drift Distance (cm); Number of Entries' H.dc.2y1.dist 28 -0.1 0.6 +TH1F hdc2u1_ddist 'HMS 2X2 Drift Distance; Drift Distance (cm); Number of Entries' H.dc.2u1.dist 28 -0.1 0.6 +TH1F hdc2v1_ddist 'HMS 2X1 Drift Distance; Drift Distance (cm); Number of Entries' H.dc.2v1.dist 28 -0.1 0.6 +TH1F hdc2y2_ddist 'HMS 2V2 Drift Distance; Drift Distance (cm); Number of Entries' H.dc.2y2.dist 28 -0.1 0.6 +TH1F hdc2x2_ddist 'HMS 2V1 Drift Distance; Drift Distance (cm); Number of Entries' H.dc.2x2.dist 28 -0.1 0.6 + +#-------------------------------------- +# HMS DC DRIFT DISTANCE VS. WIRENUMBER +#-------------------------------------- + +TH2F hdc1x1_wirenum_vs_ddist 'HMS DC 1X1 Drift Distance vs. Wire Number; Wire Number; Drift Distance (cm)' H.dc.1x1.wirenum H.dc.1x1.dist 113 0.5 113.5 300 -0.1 0.6 +TH2F hdc1y1_wirenum_vs_ddist 'HMS DC 1Y1 Drift Distance vs. Wire Number; Wire Number; Drift Distance (cm)' H.dc.1y1.wirenum H.dc.1y1.dist 52 0.5 52.5 300 -0.1 0.6 +TH2F hdc1u1_wirenum_vs_ddist 'HMS DC 1U1 Drift Distance vs. Wire Number; Wire Number; Drift Distance (cm)' H.dc.1u1.wirenum H.dc.1u1.dist 107 0.5 107.5 300 -0.1 0.6 +TH2F hdc1v1_wirenum_vs_ddist 'HMS DC 1V1 Drift Distance vs. Wire Number; Wire Number; Drift Distance (cm)' H.dc.1v1.wirenum H.dc.1v1.dist 107 0.5 107.5 300 -0.1 0.6 +TH2F hdc1y2_wirenum_vs_ddist 'HMS DC 1Y2 Drift Distance vs. Wire Number; Wire Number; Drift Distance (cm)' H.dc.1y2.wirenum H.dc.1y2.dist 52 0.5 52.5 300 -0.1 0.6 +TH2F hdc1x2_wirenum_vs_ddist 'HMS DC 1X2 Drift Distance vs. Wire Number; Wire Number; Drift Distance (cm)' H.dc.1x2.wirenum H.dc.1x2.dist 113 0.5 113.5 300 -0.1 0.6 + +TH2F hdc2x1_wirenum_vs_ddist 'HMS DC 2X1 Drift Distance vs. Wire Number; Wire Number; Drift Distance (cm)' H.dc.2x1.wirenum H.dc.2x1.dist 113 0.5 113.5 300 -0.1 0.6 +TH2F hdc2y1_wirenum_vs_ddist 'HMS DC 2Y1 Drift Distance vs. Wire Number; Wire Number; Drift Distance (cm)' H.dc.2y1.wirenum H.dc.2y1.dist 52 0.5 52.5 300 -0.1 0.6 +TH2F hdc2u1_wirenum_vs_ddist 'HMS DC 2U1 Drift Distance vs. Wire Number; Wire Number; Drift Distance (cm)' H.dc.2u1.wirenum H.dc.2u1.dist 107 0.5 107.5 300 -0.1 0.6 +TH2F hdc2v1_wirenum_vs_ddist 'HMS DC 2V1 Drift Distance vs. Wire Number; Wire Number; Drift Distance (cm)' H.dc.2v1.wirenum H.dc.2v1.dist 107 0.5 107.5 300 -0.1 0.6 +TH2F hdc2y2_wirenum_vs_ddist 'HMS DC 2Y2 Drift Distance vs. Wire Number; Wire Number; Drift Distance (cm)' H.dc.2y2.wirenum H.dc.2y2.dist 52 0.5 52.5 300 -0.1 0.6 +TH2F hdc2x2_wirenum_vs_ddist 'HMS DC 2X2 Drift Distance vs. Wire Number; Wire Number; Drift Distance (cm)' H.dc.2x2.wirenum H.dc.2x2.dist 113 0.5 113.5 300 -0.1 0.6 + +#---------------------------- +# HMS DC RESIDUALS PER PLANE +#---------------------------- + +TH1F hdc1x1_residuals 'HMS 1X1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' H.dc.residual[0] 200 -1.0 1.0 +TH1F hdc1y1_residuals 'HMS 1Y1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' H.dc.residual[1] 200 -1.0 1.0 +TH1F hdc1u1_residuals 'HMS 1U1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' H.dc.residual[2] 200 -1.0 1.0 +TH1F hdc1v1_residuals 'HMS 1V1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' H.dc.residual[3] 200 -1.0 1.0 +TH1F hdc1y2_residuals 'HMS 1Y2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' H.dc.residual[4] 200 -1.0 1.0 +TH1F hdc1x2_residuals 'HMS 1X2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' H.dc.residual[5] 200 -1.0 1.0 + +TH1F hdc2x1_residuals 'HMS 2X1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' H.dc.residual[6] 200 -1.0 1.0 +TH1F hdc2y1_residuals 'HMS 2Y1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' H.dc.residual[7] 200 -1.0 1.0 +TH1F hdc2u1_residuals 'HMS 2U1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' H.dc.residual[8] 200 -1.0 1.0 +TH1F hdc2v1_residuals 'HMS 2V1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' H.dc.residual[9] 200 -1.0 1.0 +TH1F hdc2y2_residuals 'HMS 2Y2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' H.dc.residual[10] 200 -1.0 1.0 +TH1F hdc2x2_residuals 'HMS 2X2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' H.dc.residual[11] 200 -1.0 1.0 + +#------------------------------------------- +# HMS DC TRACKING VARIABLES AT FOCAL PLANE +#------------------------------------------- + +TH1F hdc_trk_mom 'HMS DC Track Momentum; P (GeV); Number of Entires / 10 MeV' H.tr.p 600 0 6 +TH1F hdc_trk_beta 'HMS DC Track Beta; Beta (GeV); Number of Entires' H.tr.beta 300 -1.5 1.5 +TH2F hdc_xfp_vs_yxp 'HMS DC X_{fp} vs Y_{fp}; Y_{fp} (cm) / 1 cm; X_{fp} (cm) / 1 cm' H.dc.y_fp H.dc.x_fp 100 -50 50 100 -50 50 +TH2F hdc_xpfp_vs_ypfp 'HMS DC X'_{fp} vs Y'_{fp}; Y'_{fp} / 0.002 rad; X'_{fp} / 0.002 rad' H.dc.yp_fp H.dc.xp_fp 100 -.1 .1 100 -.1 .1 +TH2F hdc_xfp_vs_ypfp 'HMS DC X_{fp} vs Y'_{fp}; Y'_{fp} / 0.002 rad; X_{fp} / 1 cm' H.dc.yp_fp H.dc.x_fp 100 -.1 .1 100 -50 50 +TH2F hdc_xfp_vs_xpfp 'HMS DC X_{fp} vs X'_{fp}; X'_{fp} / 0.002 rad; X_{fp} / 1 cm' H.dc.xp_fp H.dc.x_fp 100 -.1 .1 100 -50 50 + + +#***************** +# HMS HODOSCOPES * +#***************** + +#----------------------------------- +# HMS HODO GOOD ADC Multiplicities +#----------------------------------- + +TH1F hhodo_1x_good_adc_mult_pos 'HMS 1X+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' H.hod.1x.totNumGoodPosAdcHits 16 0.5 16.5 +TH1F hhodo_1y_good_adc_mult_pos 'HMS 1Y+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' H.hod.1y.totNumGoodPosAdcHits 10 0.5 10.5 +TH1F hhodo_2x_good_adc_mult_pos 'HMS 2X+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' H.hod.2x.totNumGoodPosAdcHits 16 0.5 16.5 +TH1F hhodo_2y_good_adc_mult_pos 'HMS 2Y+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' H.hod.2y.totNumGoodPosAdcHits 10 0.5 10.5 + +TH1F hhodo_1x_good_adc_mult_neg 'HMS 1X- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' H.hod.1x.totNumGoodNegAdcHits 16 0.5 16.5 +TH1F hhodo_1y_good_adc_mult_neg 'HMS 1Y- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' H.hod.1y.totNumGoodNegAdcHits 10 0.5 10.5 +TH1F hhodo_2x_good_adc_mult_neg 'HMS 2X- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' H.hod.2x.totNumGoodNegAdcHits 16 0.5 16.5 +TH1F hhodo_2y_good_adc_mult_neg 'HMS 2Y- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' H.hod.2y.totNumGoodNegAdcHits 10 0.5 10.5 + +TH1F hhodo_1x_good_adc_mult 'HMS 1X Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' H.hod.1x.totNumGoodAdcHits 16 0.5 16.5 +TH1F hhodo_1y_good_adc_mult 'HMS 1Y Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' H.hod.1y.totNumGoodAdcHits 10 0.5 10.5 +TH1F hhodo_2x_good_adc_mult 'HMS 2X Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' H.hod.2x.totNumGoodAdcHits 16 0.5 16.5 +TH1F hhodo_2y_good_adc_mult 'HMS 2Y Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' H.hod.2y.totNumGoodAdcHits 10 0.5 10.5 + +#----------------------------------- +# HMS HODO Good TDC Multiplicities +#----------------------------------- + +TH1F hhodo_1x_good_tdc_mult_pos 'HMS 1X+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' H.hod.1x.totNumGoodPosTdcHits 16 0.5 16.5 +TH1F hhodo_1y_good_tdc_mult_pos 'HMS 1Y+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' H.hod.1y.totNumGoodPosTdcHits 10 0.5 10.5 +TH1F hhodo_2x_good_tdc_mult_pos 'HMS 2X+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' H.hod.2x.totNumGoodPosTdcHits 16 0.5 16.5 +TH1F hhodo_2y_good_tdc_mult_pos 'HMS 2Y+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' H.hod.2y.totNumGoodPosTdcHits 10 0.5 10.5 + +TH1F hhodo_1x_good_tdc_mult_neg 'HMS 1X- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' H.hod.1x.totNumGoodNegTdcHits 16 0.5 16.5 +TH1F hhodo_1y_good_tdc_mult_neg 'HMS 1Y- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' H.hod.1y.totNumGoodNegTdcHits 10 0.5 10.5 +TH1F hhodo_2x_good_tdc_mult_neg 'HMS 2X- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' H.hod.2x.totNumGoodNegTdcHits 16 0.5 16.5 +TH1F hhodo_2y_good_tdc_mult_neg 'HMS 2Y- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' H.hod.2y.totNumGoodNegTdcHits 10 0.5 10.5 + +TH1F hhodo_1x_good_tdc_mult 'HMS 1X Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' H.hod.1x.totNumGoodTdcHits 16 0.5 16.5 +TH1F hhodo_1y_good_tdc_mult 'HMS 1Y Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' H.hod.1y.totNumGoodTdcHits 10 0.5 10.5 +TH1F hhodo_2x_good_tdc_mult 'HMS 2X Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' H.hod.2x.totNumGoodTdcHits 16 0.5 16.5 +TH1F hhodo_2y_good_tdc_mult 'HMS 2Y Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' H.hod.2y.totNumGoodTdcHits 10 0.5 10.5 + +#--------------------------------- +# HMS HODO GOOD ADC OCCUPANCIES +#--------------------------------- + +TH1F hhodo_1x_good_adc_occ_pos 'HMS 1X+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' H.hod.1x.numGoodPosAdcHits 16 0.5 16.5 +TH1F hhodo_1y_good_adc_occ_pos 'HMS 1Y+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' H.hod.1y.numGoodPosAdcHits 10 0.5 10.5 +TH1F hhodo_2x_good_adc_occ_pos 'HMS 2X+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' H.hod.2x.numGoodPosAdcHits 16 0.5 16.5 +TH1F hhodo_2y_good_adc_occ_pos 'HMS 2Y+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' H.hod.2y.numGoodPosAdcHits 10 0.5 10.5 + +TH1F hhodo_1x_good_adc_occ_neg 'HMS 1X- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' H.hod.1x.numGoodNegAdcHits 16 0.5 16.5 +TH1F hhodo_1y_good_adc_occ_neg 'HMS 1Y- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' H.hod.1y.numGoodNegAdcHits 10 0.5 10.5 +TH1F hhodo_2x_good_adc_occ_neg 'HMS 2X- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' H.hod.2x.numGoodNegAdcHits 16 0.5 16.5 +TH1F hhodo_2y_good_adc_occ_neg 'HMS 2Y- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' H.hod.2y.numGoodNegAdcHits 10 0.5 10.5 + +#-------------------------------- +# HMS HODO GOOD TDC OCCUPANCIES +#-------------------------------- + +TH1F hhodo_1x_good_tdc_occ_pos 'HMS 1X+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' H.hod.1x.numGoodPosTdcHits 16 0.5 16.5 +TH1F hhodo_1y_good_tdc_occ_pos 'HMS 1Y+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' H.hod.1y.numGoodPosTdcHits 10 0.5 10.5 +TH1F hhodo_2x_good_tdc_occ_pos 'HMS 2X+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' H.hod.2x.numGoodPosTdcHits 16 0.5 16.5 +TH1F hhodo_2y_good_tdc_occ_pos 'HMS 2Y+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' H.hod.2y.numGoodPosTdcHits 10 0.5 10.5 + +TH1F hhodo_1x_good_tdc_occ_neg 'HMS 1X- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' H.hod.1x.numGoodNegTdcHits 16 0.5 16.5 +TH1F hhodo_1y_good_tdc_occ_neg 'HMS 1Y- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' H.hod.1y.numGoodNegTdcHits 10 0.5 10.5 +TH1F hhodo_2x_good_tdc_occ_neg 'HMS 2X- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' H.hod.2x.numGoodNegTdcHits 16 0.5 16.5 +TH1F hhodo_2y_good_tdc_occ_neg 'HMS 2Y- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' H.hod.2y.numGoodNegTdcHits 10 0.5 10.5 + +#------------------------------ +# HMS HODO Good PULSE PEDESTAL +#------------------------------ + +TH2F hhodo_1x_good_pped_vs_pmt_pos 'HMS 1X+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] H.hod.1x.GoodPosAdcPed 16 0.5 16.5 400 300 700 H.hod.1x.GoodPosAdcPed>0.0 +TH2F hhodo_1y_good_pped_vs_pmt_pos 'HMS 1Y+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] H.hod.1y.GoodPosAdcPed 10 0.5 10.5 400 300 700 H.hod.1y.GoodPosAdcPed>0.0 +TH2F hhodo_2x_good_pped_vs_pmt_pos 'HMS 2X+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] H.hod.2x.GoodPosAdcPed 16 0.5 16.5 400 300 700 H.hod.2x.GoodPosAdcPed>0.0 +TH2F hhodo_2y_good_pped_vs_pmt_pos 'HMS 2Y+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] H.hod.2y.GoodPosAdcPed 10 0.5 10.5 400 300 700 H.hod.2y.GoodPosAdcPed>0.0 + +TH2F hhodo_1x_good_pped_vs_pmt_neg 'HMS 1X- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] H.hod.1x.GoodNegAdcPed 16 0.5 16.5 400 300 700 H.hod.1x.GoodNegAdcPed>0.0 +TH2F hhodo_1y_good_pped_vs_pmt_neg 'HMS 1Y- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] H.hod.1y.GoodNegAdcPed 10 0.5 10.5 400 300 700 H.hod.1y.GoodNegAdcPed>0.0 +TH2F hhodo_2x_good_pped_vs_pmt_neg 'HMS 2X- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] H.hod.2x.GoodNegAdcPed 16 0.5 16.5 400 300 700 H.hod.2x.GoodNegAdcPed>0.0 +TH2F hhodo_2y_good_pped_vs_pmt_neg 'HMS 2Y- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] H.hod.2y.GoodNegAdcPed 10 0.5 10.5 400 300 700 H.hod.2y.GoodNegAdcPed>0.0 + +#------------------------------ +# HMS HODO Good PULSE INTEGRAL +#------------------------------ + +TH2F hhodo_1x_good_pi_vs_pmt_pos 'HMS 1X+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] H.hod.1x.GoodPosAdcPulseInt 16 0.5 16.5 600 0 30000 H.hod.1x.GoodPosAdcPulseInt>0.0 +TH2F hhodo_1y_good_pi_vs_pmt_pos 'HMS 1Y+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] H.hod.1y.GoodPosAdcPulseInt 10 0.5 10.5 600 0 30000 H.hod.1y.GoodPosAdcPulseInt>0.0 +TH2F hhodo_2x_good_pi_vs_pmt_pos 'HMS 2X+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] H.hod.2x.GoodPosAdcPulseInt 16 0.5 16.5 600 0 30000 H.hod.2x.GoodPosAdcPulseInt>0.0 +TH2F hhodo_2y_good_pi_vs_pmt_pos 'HMS 2Y+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] H.hod.2y.GoodPosAdcPulseInt 10 0.5 10.5 600 0 30000 H.hod.2y.GoodPosAdcPulseInt>0.0 + +TH2F hhodo_1x_good_pi_vs_pmt_neg 'HMS 1X- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] H.hod.1x.GoodNegAdcPulseInt 16 0.5 16.5 600 0 30000 H.hod.1x.GoodNegAdcPulseInt>0.0 +TH2F hhodo_1y_good_pi_vs_pmt_neg 'HMS 1Y- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] H.hod.1y.GoodNegAdcPulseInt 10 0.5 10.5 600 0 30000 H.hod.1y.GoodNegAdcPulseInt>0.0 +TH2F hhodo_2x_good_pi_vs_pmt_neg 'HMS 2X- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] H.hod.2x.GoodNegAdcPulseInt 16 0.5 16.5 600 0 30000 H.hod.2x.GoodNegAdcPulseInt>0.0 +TH2F hhodo_2y_good_pi_vs_pmt_neg 'HMS 2Y- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] H.hod.2y.GoodNegAdcPulseInt 10 0.5 10.5 600 0 30000 H.hod.2y.GoodNegAdcPulseInt>0.0 + +#------------------------------- +# HMS HODO Good PULSE AMPLITUDE +#------------------------------- + +TH2F hhodo_1x_good_pamp_vs_pmt_pos 'HMS 1X+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] H.hod.1x.GoodPosAdcPulseAmp 16 0.5 16.5 205 0 4100 H.hod.1x.GoodPosAdcPulseAmp>0.0 +TH2F hhodo_1y_good_pamp_vs_pmt_pos 'HMS 1Y+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] H.hod.1y.GoodPosAdcPulseAmp 10 0.5 10.5 205 0 4100 H.hod.1y.GoodPosAdcPulseAmp>0.0 +TH2F hhodo_2x_good_pamp_vs_pmt_pos 'HMS 2X+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] H.hod.2x.GoodPosAdcPulseAmp 16 0.5 16.5 205 0 4100 H.hod.2x.GoodPosAdcPulseAmp>0.0 +TH2F hhodo_2y_good_pamp_vs_pmt_pos 'HMS 2Y+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] H.hod.2y.GoodPosAdcPulseAmp 10 0.5 10.5 205 0 4100 H.hod.2y.GoodPosAdcPulseAmp>0.0 + +TH2F hhodo_1x_good_pamp_vs_pmt_neg 'HMS 1X- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] H.hod.1x.GoodNegAdcPulseAmp 16 0.5 16.5 205 0 4100 H.hod.1x.GoodNegAdcPulseAmp>0.0 +TH2F hhodo_1y_good_pamp_vs_pmt_neg 'HMS 1Y- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] H.hod.1y.GoodNegAdcPulseAmp 10 0.5 10.5 205 0 4100 H.hod.1y.GoodNegAdcPulseAmp>0.0 +TH2F hhodo_2x_good_pamp_vs_pmt_neg 'HMS 2X- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] H.hod.2x.GoodNegAdcPulseAmp 16 0.5 16.5 205 0 4100 H.hod.2x.GoodNegAdcPulseAmp>0.0 +TH2F hhodo_2y_good_pamp_vs_pmt_neg 'HMS 2Y- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] H.hod.2y.GoodNegAdcPulseAmp 10 0.5 10.5 205 0 4100 H.hod.2y.GoodNegAdcPulseAmp>0.0 + +#------------------------------ +# HMS HODO Good ADC PULSE TIME +#------------------------------ + +TH2F hhodo_1x_good_ptime_vs_pmt_pos 'HMS 1X+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] H.hod.1x.GoodPosAdcPulseTime 16 0.5 16.5 410 0 4100 H.hod.1x.GoodPosAdcPulseTime>0.0 +TH2F hhodo_1y_good_ptime_vs_pmt_pos 'HMS 1Y+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] H.hod.1y.GoodPosAdcPulseTime 10 0.5 10.5 410 0 4100 H.hod.1y.GoodPosAdcPulseTime>0.0 +TH2F hhodo_2x_good_ptime_vs_pmt_pos 'HMS 2X+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] H.hod.2x.GoodPosAdcPulseTime 16 0.5 16.5 410 0 4100 H.hod.2x.GoodPosAdcPulseTime>0.0 +TH2F hhodo_2y_good_ptime_vs_pmt_pos 'HMS 2Y+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] H.hod.2y.GoodPosAdcPulseTime 10 0.5 10.5 410 0 4100 H.hod.2y.GoodPosAdcPulseTime>0.0 + +TH2F hhodo_1x_good_ptime_vs_pmt_neg 'HMS 1X- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] H.hod.1x.GoodNegAdcPulseTime 16 0.5 16.5 410 0 4100 H.hod.1x.GoodNegAdcPulseTime>0.0 +TH2F hhodo_1y_good_ptime_vs_pmt_neg 'HMS 1Y- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] H.hod.1y.GoodNegAdcPulseTime 10 0.5 10.5 410 0 4100 H.hod.1y.GoodNegAdcPulseTime>0.0 +TH2F hhodo_2x_good_ptime_vs_pmt_neg 'HMS 2X- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] H.hod.2x.GoodNegAdcPulseTime 16 0.5 16.5 410 0 4100 H.hod.2x.GoodNegAdcPulseTime>0.0 +TH2F hhodo_2y_good_ptime_vs_pmt_neg 'HMS 2Y- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] H.hod.2y.GoodNegAdcPulseTime 10 0.5 10.5 410 0 4100 H.hod.2y.GoodNegAdcPulseTime>0.0 + +#------------------------------------------------------------------- +# HMS HODO Good TDC TIME UNCORRECTED (uncorrected for time offsets) +#------------------------------------------------------------------- + +TH2F hhodo_1x_good_tdctime_uncorr_vs_pmt_pos 'HMS 1X+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1] H.hod.1x.GoodPosTdcTimeUnCorr 16 0.5 16.5 120 0 120 H.hod.1x.GoodPosTdcTimeUnCorr>0.0 +TH2F hhodo_1y_good_tdctime_uncorr_vs_pmt_pos 'HMS 1Y+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1] H.hod.1y.GoodPosTdcTimeUnCorr 10 0.5 10.5 120 0 120 H.hod.1y.GoodPosTdcTimeUnCorr>0.0 +TH2F hhodo_2x_good_tdctime_uncorr_vs_pmt_pos 'HMS 2X+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1] H.hod.2x.GoodPosTdcTimeUnCorr 16 0.5 16.5 120 0 120 H.hod.2x.GoodPosTdcTimeUnCorr>0.0 +TH2F hhodo_2y_good_tdctime_uncorr_vs_pmt_pos 'HMS 2Y+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1] H.hod.2y.GoodPosTdcTimeUnCorr 10 0.5 10.5 120 0 120 H.hod.2y.GoodPosTdcTimeUnCorr>0.0 + +TH2F hhodo_1x_good_tdctime_uncorr_vs_pmt_neg 'HMS 1X- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1] H.hod.1x.GoodNegTdcTimeUnCorr 16 0.5 16.5 120 0 120 H.hod.1x.GoodNegTdcTimeUnCorr>0.0 +TH2F hhodo_1y_good_tdctime_uncorr_vs_pmt_neg 'HMS 1Y- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1] H.hod.1y.GoodNegTdcTimeUnCorr 10 0.5 10.5 120 0 120 H.hod.1y.GoodNegTdcTimeUnCorr>0.0 +TH2F hhodo_2x_good_tdctime_uncorr_vs_pmt_neg 'HMS 2X- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1] H.hod.2x.GoodNegTdcTimeUnCorr 16 0.5 16.5 120 0 120 H.hod.2x.GoodNegTdcTimeUnCorr>0.0 +TH2F hhodo_2y_good_tdctime_uncorr_vs_pmt_neg 'HMS 2Y- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1] H.hod.2y.GoodNegTdcTimeUnCorr 10 0.5 10.5 120 0 120 H.hod.2y.GoodNegTdcTimeUnCorr>0.0 + +#--------------------------------------------------------------- +# HMS HODO Good TDC TIME CORRECTED (corrected for time offsets) +#--------------------------------------------------------------- + +TH2F hhodo_1x_good_tdctime_corr_vs_pmt_pos 'HMS 1X+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1] H.hod.1x.GoodPosTdcTimeCorr 16 0.5 16.5 120 0 120 H.hod.1x.GoodPosTdcTimeCorr>0.0 +TH2F hhodo_1y_good_tdctime_corr_vs_pmt_pos 'HMS 1Y+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1] H.hod.1y.GoodPosTdcTimeCorr 10 0.5 10.5 120 0 120 H.hod.1y.GoodPosTdcTimeCorr>0.0 +TH2F hhodo_2x_good_tdctime_corr_vs_pmt_pos 'HMS 2X+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1] H.hod.2x.GoodPosTdcTimeCorr 16 0.5 16.5 120 0 120 H.hod.2x.GoodPosTdcTimeCorr>0.0 +TH2F hhodo_2y_good_tdctime_corr_vs_pmt_pos 'HMS 2Y+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1] H.hod.2y.GoodPosTdcTimeCorr 10 0.5 10.5 120 0 120 H.hod.2y.GoodPosTdcTimeCorr>0.0 + +TH2F hhodo_1x_good_tdctime_corr_vs_pmt_neg 'HMS 1X- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1] H.hod.1x.GoodNegTdcTimeCorr 16 0.5 16.5 120 0 120 H.hod.1x.GoodNegTdcTimeCorr>0.0 +TH2F hhodo_1y_good_tdctime_corr_vs_pmt_neg 'HMS 1Y- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1] H.hod.1y.GoodNegTdcTimeCorr 10 0.5 10.5 120 0 120 H.hod.1y.GoodNegTdcTimeCorr>0.0 +TH2F hhodo_2x_good_tdctime_corr_vs_pmt_neg 'HMS 2X- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1] H.hod.2x.GoodNegTdcTimeCorr 16 0.5 16.5 120 0 120 H.hod.2x.GoodNegTdcTimeCorr>0.0 +TH2F hhodo_2y_good_tdctime_corr_vs_pmt_neg 'HMS 2Y- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1] H.hod.2y.GoodNegTdcTimeCorr 10 0.5 10.5 120 0 120 H.hod.2y.GoodNegTdcTimeCorr>0.0 + +#-------------------------------------------------------------------- +# HMS HODO Good TDC TIME TOF CORRECTED (corrected for time of flight) +#-------------------------------------------------------------------- + +TH2F hhodo_1x_good_tdctime_tofcorr_vs_pmt_pos 'HMS 1X+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1] H.hod.1x.GoodPosTdcTimeTOFCorr 16 0.5 16.5 120 0 120 H.hod.1x.GoodPosTdcTimeTOFCorr>0.0 +TH2F hhodo_1y_good_tdctime_tofcorr_vs_pmt_pos 'HMS 1Y+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1] H.hod.1y.GoodPosTdcTimeTOFCorr 10 0.5 10.5 120 0 120 H.hod.1y.GoodPosTdcTimeTOFCorr>0.0 +TH2F hhodo_2x_good_tdctime_tofcorr_vs_pmt_pos 'HMS 2X+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1] H.hod.2x.GoodPosTdcTimeTOFCorr 16 0.5 16.5 120 0 120 H.hod.2x.GoodPosTdcTimeTOFCorr>0.0 +TH2F hhodo_2y_good_tdctime_tofcorr_vs_pmt_pos 'HMS 2Y+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1] H.hod.2y.GoodPosTdcTimeTOFCorr 10 0.5 10.5 120 0 120 H.hod.2y.GoodPosTdcTimeTOFCorr>0.0 + +TH2F hhodo_1x_good_tdctime_tofcorr_vs_pmt_neg 'HMS 1X- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1] H.hod.1x.GoodNegTdcTimeTOFCorr 16 0.5 16.5 120 0 120 H.hod.1x.GoodNegTdcTimeTOFCorr>0.0 +TH2F hhodo_1y_good_tdctime_tofcorr_vs_pmt_neg 'HMS 1Y- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1] H.hod.1y.GoodNegTdcTimeTOFCorr 10 0.5 10.5 120 0 120 H.hod.1y.GoodNegTdcTimeTOFCorr>0.0 +TH2F hhodo_2x_good_tdctime_tofcorr_vs_pmt_neg 'HMS 2X- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1] H.hod.2x.GoodNegTdcTimeTOFCorr 16 0.5 16.5 120 0 120 H.hod.2x.GoodNegTdcTimeTOFCorr>0.0 +TH2F hhodo_2y_good_tdctime_tofcorr_vs_pmt_neg 'HMS 2Y- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1] H.hod.2y.GoodNegTdcTimeTOFCorr 10 0.5 10.5 120 0 120 H.hod.2y.GoodNegTdcTimeTOFCorr>0.0 + +#---------------------------------------------------------------- +# HMS HODO TRACKING, TIMING AND Particle ID (PID) - BETA (v/c) +#---------------------------------------------------------------- + +TH1F hhodo_beta_notrack 'HMS Hodo Calculated Beta Without Track Info; Beta; Number of Entries / 0.02' H.hod.betanotrack 100 0 2.0 H.hod.betanotrack>0.0 +TH1F hhodo_beta 'HMS Hodo Beta; Beta; Number of Entries / 0.02' H.hod.beta 100 0 2.0 H.hod.beta>0.0 +TH1F hhodo_fpHitsTime 'HMS Hodo Focal Plane Time; Focal Plane Time (ns); Number of Entries / 1 ns' H.hod.fpHitsTime 90 0 90 +TH1F hhodo_starttime 'HMS Hodo Start Time; Start Time (ns); Number of Entries / 1ns' H.hod.starttime 90 0 90 +TH1F hhodo_good_startime 'HMS Hodo Good Start Time ; Good Start Time (flag=1 good, =0 did not determine start time); Number of Entries' H.hod.goodstarttime 5 0 5 +TH1F hhodo_1x_diffdistrack 'HMS Hodo 1X Diff Distance track (cm); Diff distance (cm); Counts ' H.hod.1x.DiffDisTrack 100 -10. 10. +TH1F hhodo_1y_diffdistrack 'HMS Hodo 1Y Diff Distance track (cm); Diff distance (cm); Counts ' H.hod.1y.DiffDisTrack 100 -10. 10. +TH1F hhodo_2x_diffdistrack 'HMS Hodo 2X Diff Distance track (cm); Diff distance (cm); Counts ' H.hod.2x.DiffDisTrack 100 -10. 10. +TH1F hhodo_2y_diffdistrack 'HMS Hodo 2Y Diff Distance track (cm); Diff distance (cm); Counts ' H.hod.2y.DiffDisTrack 100 -10. 10. +TH2F hhodo_1x_diffdistrack_v_xtrack 'HMS Hodo 1X Diff Distance track (cm) versus Track X (cm); Diff distance (cm); X track (cm)' H.hod.1x.DiffDisTrack H.hod.1x.TrackXPos 100 -10. 10. 200 -100 100 +TH2F hhodo_1y_diffdistrack_v_ytrack 'HMS Hodo 1Y Diff Distance track (cm) versus Track Y (cm); Diff distance (cm); Y track (cm)' H.hod.1y.DiffDisTrack H.hod.1y.TrackYPos 100 -10. 10. 240 -60 60 +TH2F hhodo_2x_diffdistrack_v_xtrack 'HMS Hodo 2X Diff Distance track (cm) versus Track X (cm); Diff distance (cm); X track (cm)' H.hod.2x.DiffDisTrack H.hod.2x.TrackXPos 100 -10. 10. 200 -100 100 +TH2F hhodo_2y_diffdistrack_v_ytrack 'HMS Hodo 2Y Diff Distance track (cm) versus Track Y (cm); Diff distance (cm); Y track (cm)' H.hod.2y.DiffDisTrack H.hod.2y.TrackYPos 100 -10. 10. 240 -60 60 + +#****************** +# HMS CALORIMETER +#****************** + +#------------------------ +# HMS CAL Good Occupancy +#------------------------ + +TH1F hcal_hA_good_occ_pos 'HMS hA+ Good Occupancy; PMT Number; Number of Entries' H.cal.1pr.numGoodPosAdcHits 13 0.5 13.5 +TH1F hcal_hA_good_occ_neg 'HMS hA- Good Occupancy; PMT Number; Number of Entries' H.cal.1pr.numGoodNegAdcHits 13 0.5 13.5 +TH1F hcal_hB_good_occ_pos 'HMS hB+ Good Occupancy; PMT Number; Number of Entries' H.cal.2ta.numGoodPosAdcHits 13 0.5 13.5 +TH1F hcal_hB_good_occ_neg 'HMS hB- Good Occupancy; PMT Number; Number of Entries' H.cal.2ta.numGoodNegAdcHits 13 0.5 13.5 +TH1F hcal_hC_good_occ_pos 'HMS hC+ Good Occupancy; PMT Number; Number of Entries' H.cal.3ta.numGoodPosAdcHits 13 0.5 13.5 +TH1F hcal_hD_good_occ_pos 'HMS hD+ Good Occupancy; PMT Number; Number of Entries' H.cal.4ta.numGoodPosAdcHits 13 0.5 13.5 + +#--------------------------- +# HMS CAL Good Multiplicity +#--------------------------- + +TH1F hcal_hA_good_mult_pos 'HMS hA+ Good Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits / PMT' H.cal.1pr.totNumGoodPosAdcHits 13 0.5 13.5 +TH1F hcal_hA_good_mult_neg 'HMS hA- Good Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits / PMT' H.cal.1pr.totNumGoodNegAdcHits 13 0.5 13.5 +TH1F hcal_hA_good_mult 'HMS hA Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits / PMT' H.cal.1pr.totnumGoodAdcHits 26 0.5 26.5 + +TH1F hcal_hB_good_mult_pos 'HMS hB+ Good Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits / PMT' H.cal.2ta.totNumGoodPosAdcHits 13 0.5 13.5 +TH1F hcal_hB_good_mult_neg 'HMS hB- Good Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits / PMT' H.cal.2ta.totNumGoodNegAdcHits 13 0.5 13.5 +TH1F hcal_hB_good_mult 'HMS hB Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits / PMT' H.cal.2ta.totnumGoodAdcHits 26 0.5 26.5 + +TH1F hcal_hC_good_mult_pos 'HMS hC+ Good Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits / PMT' H.cal.3ta.totNumGoodPosAdcHits 13 0.5 13.5 +TH1F hcal_hD_good_mult_pos 'HMS hD+ Good Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits / PMT' H.cal.4ta.totNumGoodPosAdcHits 13 0.5 13.5 + +#------------------------------- +# HMS CAL Good Pulse Pedestals +#------------------------------- + +TH2F hcal_hA_good_pped_vs_pmt_pos 'HMS hA+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Units' [I+1] H.cal.1pr.goodPosAdcPed 13 0.5 13.5 400 300 700 H.cal.1pr.goodPosAdcPed>0.0 +TH2F hcal_hA_good_pped_vs_pmt_neg 'HMS hA- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Units' [I+1] H.cal.1pr.goodNegAdcPed 13 0.5 13.5 400 300 700 H.cal.1pr.goodNegAdcPed>0.0 +TH2F hcal_hB_good_pped_vs_pmt_pos 'HMS hB+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Units' [I+1] H.cal.2ta.goodPosAdcPed 13 0.5 13.5 400 300 700 H.cal.2ta.goodPosAdcPed>0.0 +TH2F hcal_hB_good_pped_vs_pmt_neg 'HMS hB- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Units' [I+1] H.cal.2ta.goodNegAdcPed 13 0.5 13.5 400 300 700 H.cal.2ta.goodNegAdcPed>0.0 +TH2F hcal_hC_good_pped_vs_pmt_pos 'HMS hC+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Units' [I+1] H.cal.3ta.goodPosAdcPed 13 0.5 13.5 400 300 700 H.cal.3ta.goodPosAdcPed>0.0 +TH2F hcal_hD_good_pped_vs_pmt_pos 'HMS hD+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Units' [I+1] H.cal.4ta.goodPosAdcPed 13 0.5 13.5 400 300 700 H.cal.4ta.goodPosAdcPed>0.0 + +#------------------------------- +# HMS CAL Good Pulse Integrals +#------------------------------- + +TH2F hcal_hA_good_pi_vs_pmt_pos 'HMS hA+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] H.cal.1pr.goodPosAdcPulseInt 13 0.5 13.5 600 0 30000 H.cal.1pr.goodPosAdcPulseInt>0.0 +TH2F hcal_hA_good_pi_vs_pmt_neg 'HMS hA- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] H.cal.1pr.goodNegAdcPulseInt 13 0.5 13.5 600 0 30000 H.cal.1pr.goodNegAdcPulseInt>0.0 +TH2F hcal_hB_good_pi_vs_pmt_pos 'HMS hB+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] H.cal.2ta.goodPosAdcPulseInt 13 0.5 13.5 600 0 30000 H.cal.2ta.goodPosAdcPulseInt>0.0 +TH2F hcal_hB_good_pi_vs_pmt_neg 'HMS hB- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] H.cal.2ta.goodNegAdcPulseInt 13 0.5 13.5 600 0 30000 H.cal.2ta.goodNegAdcPulseInt>0.0 +TH2F hcal_hC_good_pi_vs_pmt_pos 'HMS hC+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] H.cal.3ta.goodPosAdcPulseInt 13 0.5 13.5 600 0 30000 H.cal.3ta.goodPosAdcPulseInt>0.0 +TH2F hcal_hD_good_pi_vs_pmt_pos 'HMS hD+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] H.cal.4ta.goodPosAdcPulseInt 13 0.5 13.5 600 0 30000 H.cal.4ta.goodPosAdcPulseInt>0.0 + +#------------------------------- +# HMS CAL Good Pulse Amplitudes +#------------------------------- + +TH2F hcal_hA_good_pamp_vs_pmt_pos 'HMS hA+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] H.cal.1pr.goodPosAdcPulseAmp 13 0.5 13.5 200 0 4000 H.cal.1pr.goodPosAdcPulseAmp>0.0 +TH2F hcal_hA_good_pamp_vs_pmt_neg 'HMS hA- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] H.cal.1pr.goodNegAdcPulseAmp 13 0.5 13.5 200 0 4000 H.cal.1pr.goodNegAdcPulseAmp>0.0 +TH2F hcal_hB_good_pamp_vs_pmt_pos 'HMS hB+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] H.cal.2ta.goodPosAdcPulseAmp 13 0.5 13.5 200 0 4000 H.cal.2ta.goodPosAdcPulseAmp>0.0 +TH2F hcal_hB_good_pamp_vs_pmt_neg 'HMS hB- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] H.cal.2ta.goodNegAdcPulseAmp 13 0.5 13.5 200 0 4000 H.cal.2ta.goodNegAdcPulseAmp>0.0 +TH2F hcal_hC_good_pamp_vs_pmt_pos 'HMS hC+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] H.cal.3ta.goodPosAdcPulseAmp 13 0.5 13.5 200 0 4000 H.cal.3ta.goodPosAdcPulseAmp>0.0 +TH2F hcal_hD_good_pamp_vs_pmt_pos 'HMS hD+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] H.cal.4ta.goodPosAdcPulseAmp 13 0.5 13.5 200 0 4000 H.cal.4ta.goodPosAdcPulseAmp>0.0 + +#--------------------------- +# HMS CAL Good Pulse Times +#--------------------------- + +TH2F hcal_hA_good_ptime_vs_pmt_pos 'HMS hA+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] H.cal.1pr.goodPosAdcPulseTime 13 0.5 13.5 350 0 3500 H.cal.1pr.goodPosAdcPulseTime>0.0 +TH2F hcal_hA_good_ptime_vs_pmt_neg 'HMS hA- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] H.cal.1pr.goodNegAdcPulseTime 13 0.5 13.5 350 0 3500 H.cal.1pr.goodNegAdcPulseTime>0.0 +TH2F hcal_hB_good_ptime_vs_pmt_pos 'HMS hB+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] H.cal.2ta.goodPosAdcPulseTime 13 0.5 13.5 350 0 3500 H.cal.2ta.goodPosAdcPulseTime>0.0 +TH2F hcal_hB_good_ptime_vs_pmt_neg 'HMS hB- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] H.cal.2ta.goodNegAdcPulseTime 13 0.5 13.5 350 0 3500 H.cal.2ta.goodNegAdcPulseTime>0.0 +TH2F hcal_hC_good_ptime_vs_pmt_pos 'HMS hC+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] H.cal.3ta.goodPosAdcPulseTime 13 0.5 13.5 350 0 3500 H.cal.3ta.goodPosAdcPulseTime>0.0 +TH2F hcal_hD_good_ptime_vs_pmt_pos 'HMS hD+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] H.cal.4ta.goodPosAdcPulseTime 13 0.5 13.5 350 0 3500 H.cal.4ta.goodPosAdcPulseTime>0.0 + +#----------------------------------------------- +# HMS CAL ENERGY DEPOSITION vs. PMT HISTOGRAMS +# (calib consts (GAIN) are in GeV/ADC units ) +#----------------------------------------------- + +TH2F hA_Epos_vs_pmt 'HMS hA+ Energy Deposition vs. PMT Number; PMT Number; Energy Deposition (0.01 GeV / ADC Units)' [I+1] H.cal.1pr.epos 13 0.5 13.5 200 0 2 H.cal.1pr.epos>0.0 +TH2F hA_Eneg_vs_pmt 'HMS hA- Energy Deposition vs. PMT Number; PMT Number; Energy Deposition (0.01 GeV / ADC Units)' [I+1] H.cal.1pr.eneg 13 0.5 13.5 200 0 2 H.cal.1pr.eneg>0.0 +TH2F hA_Emean_vs_pmt 'HMS hA Mean Energy Deposition vs. PMT Number; PMT Number; Mean Energy Deposition (0.01 GeV / ADC Units)' [I+1] H.cal.1pr.emean 13 0.5 13.5 300 0 3 H.cal.1pr.emean>0.0 + + +TH2F hB_Epos_vs_pmt 'HMS hB+ Energy Deposition vs. PMT Number; PMT Number; Energy Deposition (0.01 GeV / ADC Units)' [I+1] H.cal.2ta.epos 13 0.5 13.5 200 0 2 H.cal.2ta.epos>0.0 +TH2F hB_Eneg_vs_pmt 'HMS hB- Energy Deposition vs. PMT Number; PMT Number; Energy Deposition (0.01 GeV / ADC Units)' [I+1] H.cal.2ta.eneg 13 0.5 13.5 200 0 2 H.cal.2ta.eneg>0.0 +TH2F hB_Emean_vs_pmt 'HMS hB Mean Energy Deposition vs. PMT Number; PMT Number; Mean Energy Deposition (0.01 GeV / ADC Units)' [I+1] H.cal.2ta.emean 13 0.5 13.5 300 0 3 H.cal.2ta.emean>0.0 + +TH2F hC_Epos_vs_pmt 'HMS hC+ Energy Deposition vs. PMT Number; PMT Number; Energy Deposition (0.01 GeV / ADC Units)' [I+1] H.cal.3ta.epos 13 0.5 13.5 200 0 2 H.cal.3ta.epos>0.0 +TH2F hD_Epos_vs_pmt 'HMS hD+ Energy Deposition vs. PMT Number; PMT Number; Energy Deposition (0.01 GeV / ADC Units)' [I+1] H.cal.4ta.epos 13 0.5 13.5 200 0 2 H.cal.4ta.epos>0.0 + +#------------------------------------ +# HMS CAL ENERGY DEPOSITION / Plane +#------------------------------------ + +TH1F hcal_hA_Eplane_pos 'HMS hA+ Energy Deposition; Energy Deposition (GeV); Number of Entries / 0.01 GeV' H.cal.1pr.eplane_pos 200 0 2 H.cal.1pr.eplane_pos>0.0 +TH1F hcal_hA_Eplane_neg 'HMS hA- Energy Deposition; Energy Deposition (GeV); Number of Entries / 0.01 GeV' H.cal.1pr.eplane_neg 200 0 2 H.cal.1pr.eplane_neg>0.0 +TH1F hcal_hA_Eplane 'HMS hA Total Energy Deposition; Total Energy Deposition (GeV); Number of Entries / 0.01 GeV' H.cal.1pr.eplane 300 0 3 H.cal.1pr.eplane>0.0 + +TH1F hcal_hB_Eplane_pos 'HMS hB+ Energy Deposition; Energy Deposition (GeV); Number of Entries / 0.01 GeV' H.cal.2ta.eplane_pos 200 0 2 H.cal.2ta.eplane_pos>0.0 +TH1F hcal_hB_Eplane_neg 'HMS hB- Energy Deposition; Energy Deposition (GeV); Number of Entries / 0.01 GeV' H.cal.2ta.eplane_neg 200 0 2 H.cal.2ta.eplane_neg>0.0 +TH1F hcal_hB_Eplane 'HMS hB Total Energy Deposition; Total Energy Deposition (GeV); Number of Entries / 0.01 GeV' H.cal.2ta.eplane 300 0 3 H.cal.2ta.eplane>0.0 + +TH1F hcal_hC_Eplane_pos 'HMS hC+ Energy Deposition; Energy Deposition (GeV); Number of Entries / 0.01 GeV' H.cal.3ta.eplane_pos 200 0 2 H.cal.3ta.eplane_pos>0.0 +TH1F hcal_hD_Eplane_pos 'HMS hD+ Energy Deposition; Energy Deposition (GeV); Number of Entries / 0.01 GeV' H.cal.4ta.eplane_pos 200 0 2 H.cal.4ta.eplane_pos>0.0 + + + +#******************** +# Trigger Apparatus * +#******************** + +#--------------------------- +# HMS Raw Hodo TRIG TDC Time +#--------------------------- + +TH1F htrig_h1x_tdc 'HMS h1X TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.h1X_tdcTimeRaw 1500 0 1500 +TH1F htrig_h1y_tdc 'HMS h1Y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.h1Y_tdcTimeRaw 1500 0 1500 +TH1F htrig_h2x_tdc 'HMS h2X TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.h2X_tdcTimeRaw 1500 0 1500 +TH1F htrig_h2y_tdc 'HMS h2Y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.h2Y_tdcTimeRaw 1500 0 1500 + +TH1F htrig_h1T_tdc 'HMS h1X/h1Y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.h1T_tdcTimeRaw 1500 0 1500 +TH1F htrig_h2T_tdc 'HMS h2X/h2Y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.h2T_tdcTimeRaw 1500 0 1500 + +TH1F htrig_hT1_tdc 'HMS h1X/h1Y/h2X/h2Y Coincidence TDC Time (Slot 2); Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hT1_tdcTimeRaw 1500 0 1500 +TH1F htrig_hT2_tdc 'HMS h1X/h1Y/h2X/h2Y Coincidence TDC Time (Slot 20); Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hT2_tdcTimeRaw 1500 0 1500 + +#---------------------------- +# HMS Raw DC Reference Time +#---------------------------- + +TH1F htrig_hdc_ref1 'HMS DC Reference Time 1; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hDCREF1_tdcTimeRaw 15000 0 15000 +TH1F htrig_hdc_ref2 'HMS DC Reference Time 2; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hDCREF2_tdcTimeRaw 15000 0 15000 +TH1F htrig_hdc_ref3 'HMS DC Reference Time 3; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hDCREF3_tdcTimeRaw 15000 0 15000 +TH1F htrig_hdc_ref4 'HMS DC Reference Time 4; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hDCREF4_tdcTimeRaw 15000 0 15000 + + +TH1F hdc_refdiff_1m2 'HDC Reference time 1 minus 2; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF1_tdcTime-T.hms.hDCREF2_tdcTime 2000 -1000 1000 +TH1F hdc_refdiff_1m3 'HDC Reference time 1 minus 3; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF1_tdcTime-T.hms.hDCREF3_tdcTime 2000 -1000 1000 +TH1F hdc_refdiff_1m4 'HDC Reference time 1 minus 4; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF1_tdcTime-T.hms.hDCREF4_tdcTime 2000 -1000 1000 + +TH1F hdc_refdiff_2m3 'HDC Reference time 2 minus 3; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF2_tdcTime-T.hms.hDCREF3_tdcTime 2000 -1000 1000 +TH1F hdc_refdiff_2m4 'HDC Reference time 2 minus 4; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF2_tdcTime-T.hms.hDCREF4_tdcTime 2000 -1000 1000 +TH1F hdc_refdiff_3m4 'HDC Reference time 3 minus 4; TDC Time (Clicks); Number of Entries / 1 click' T.hms.hDCREF3_tdcTime-T.hms.hDCREF4_tdcTime 2000 -1000 1000 + + +#-------------------------------------------- +# HMS Calo Layers TRIG Pulse Profile +#-------------------------------------------- + +TH1F htrig_hasum_adc_pped 'HMS hAsum Pulse Pedestal; Pulse Pedestal (ADC Units); Counts / 1 ADC Units;' T.hms.hASUM_adcPed 5000 0 5000 +TH1F htrig_hasum_adc_pi 'HMS hAsum Pulse Integral; Pulse Integral (ADC Units); Counts / 50 ADC Units;' T.hms.hASUM_adcPulseInt 800 0 40000 +TH1F htrig_hasum_adc_pamp 'HMS hAsum Pulse Amplitude; Pulse Amplitude (ADC Units); Counts / 20 ADC Units;' T.hms.hASUM_adcPulseAmp 205 0 4100 +TH1F htrig_hasum_tdc 'HMS hAsum TDC Time; TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hASUM_tdcTime 4000 0 40000 + +TH1F htrig_hbsum_adc_pped 'HMS hBsum Pulse Pedestal; Pulse Pedestal (ADC Units); Counts / 1 ADC Units;' T.hms.hBSUM_adcPed 5000 0 5000 +TH1F htrig_hbsum_adc_pi 'HMS hBsum Pulse Integral; Pulse Integral (ADC Units); Counts / 50 ADC Units;' T.hms.hBSUM_adcPulseInt 800 0 40000 +TH1F htrig_hbsum_adc_pamp 'HMS hBsum Pulse Amplitude; Pulse Amplitude (ADC Units); Counts / 20 ADC Units;' T.hms.hBSUM_adcPulseAmp 205 0 4100 +TH1F htrig_hbsum_tdc 'HMS hBsum TDC Time; TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hBSUM_tdcTime 4000 0 40000 + +TH1F htrig_hcsum_adc_pped 'HMS hCsum Pulse Pedestal; Pulse Pedestal (ADC Units); Counts / 1 ADC Units;' T.hms.hCSUM_adcPed 5000 0 5000 +TH1F htrig_hcsum_adc_pi 'HMS hCsum Pulse Integral; Pulse Integral (ADC Units); Counts / 50 ADC Units;' T.hms.hCSUM_adcPulseInt 800 0 40000 +TH1F htrig_hcsum_adc_pamp 'HMS hCsum Pulse Amplitude; Pulse Amplitude (ADC Units); Counts / 20 ADC Units;' T.hms.hCSUM_adcPulseAmp 205 0 4100 +TH1F htrig_hcsum_tdc 'HMS hCsum TDC Time; TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hCSUM_tdcTime 4000 0 40000 + +TH1F htrig_hdsum_adc_pped 'HMS hDsum Pulse Pedestal; Pulse Pedestal (ADC Units); Counts / 1 ADC Units;' T.hms.hDSUM_adcPed 5000 0 5000 +TH1F htrig_hdsum_adc_pi 'HMS hDsum Pulse Integral; Pulse Integral (ADC Units); Counts / 50 ADC Units;' T.hms.hDSUM_adcPulseInt 800 0 40000 +TH1F htrig_hdsum_adc_pamp 'HMS hDsum Pulse Amplitude; Pulse Amplitude (ADC Units); Counts / 20 ADC Units;' T.hms.hDSUM_adcPulseAmp 205 0 4100 +TH1F htrig_hdsum_tdc 'HMS hDsum TDC Time; TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hDSUM_tdcTime 4000 0 40000 + +#---------------------------------- +# HMS PreShower TRIG Pulse Profile +#---------------------------------- + +TH1F htrig_hpreShwr_adc_pped 'HMS Pre-Shower Pulse Pedestal; Pulse Pedestal (ADC Units); Counts / 1 ADC Units;' T.hms.hPSHWR_adcPed 5000 0 5000 +TH1F htrig_hpreShwr_adc_pi 'HMS Pre-Shower Pulse Integral; Pulse Integral (ADC Units); Counts / 50 ADC Units;' T.hms.hPSHWR_adcPulseInt 800 0 40000 +TH1F htrig_hpreShwr_adc_pamp 'HMS Pre-Shower Pulse Amplitude; Pulse Amplitude (ADC Units); Counts / 20 ADC Units;' T.hms.hPSHWR_adcPulseAmp 205 0 4100 + +#----------------------------- +# HMS PreShower TRIG LOW/HIGH +#----------------------------- + +TH1F htrig_hpreShwrLow_tdc 'HMS hpreShwrLow TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hPSHWRLO_tdcTimeRaw 4000 0 40000 +TH1F htrig_hpreShwrHigh_tdc 'HMS hpreShwrHigh TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hPSHWRHI_tdcTimeRaw 4000 0 40000 + + +#---------------------------------- +# HMS Shower TRIG Pulse Profile +#---------------------------------- + +TH1F htrig_hshwr_adc_pped 'HMS Shower Pulse Pedestal; Pulse Pedestal (ADC Units); Counts / 1 ADC Units;' T.hms.hSHWR_adcPed 5000 0 5000 +TH1F htrig_hshwr_adc_pi 'HMS Shower Pulse Integral; Pulse Integral (ADC Units); Counts / 50 ADC Units;' T.hms.hSHWR_adcPulseInt 800 0 40000 +TH1F htrig_hshwr_adc_pamp 'HMS Shower Pulse Amplitude; Pulse Amplitude (ADC Units); Counts / 20 ADC Units;' T.hms.hSHWR_adcPulseAmp 205 0 4100 +TH1F htrig_hshwr_tdc 'HMS Shower TDC Time; TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hSHWR_tdcTime 4000 0 40000 + +#--------------------------------------- +# HMS Gas Cherenkov TRIG Pulse Profile +#--------------------------------------- + +TH1F htrig_hcersum_adc_pped 'HMS Cherenkov Sum Pulse Pedestal; Pulse Pedestal (ADC Units); Counts / 1 ADC Units;' T.hms.hCERSUM_adcPed 5000 0 5000 +TH1F htrig_hcersum_adc_pi 'HMS Cherenkov Sum Pulse Integral; Pulse Integral (ADC Units); Counts / 50 ADC Units;' T.hms.hCERSUM_adcPulseInt 800 0 40000 +TH1F htrig_hcersum_adc_pamp 'HMS Cherenkov Sum Pulse Amplitude; Pulse Amplitude (ADC Units); Counts / 20 ADC Units;' T.hms.hCERSUM_adcPulseAmp 205 0 4100 +TH1F htrig_hcersum_tdc 'HMS Cherenkov Sum TDC Time; TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hCERSUM_tdcTime 4000 0 40000 + + + + + + +#***************************************** +# HMS Single Arm Primary (Scattered Beam) +# Kinematic Quantities +#***************************************** + +TH1F hkin_q2 'HMS Q^{2}; Q^{2} (GeV^{2}); Number of Entries / 0.050 GeV^{2}' H.kin.Q2 100 0 5 +TH1F hkin_omega 'HMS Omega; E_{beam} - E_{scat} (GeV); Number of Entries / 0.050 GeV' H.kin.omega 100 0 5 +TH1F hkin_w2 'HMS W^{2}; W^{2} (GeV^{2}); Number of Entries / 0.100 GeV^{2}' H.kin.W2 100 0 10 +TH1F hkin_w 'HMS W; W (GeV); Number of Entries / 0.050 GeV' H.kin.W 100 0 5 +TH1F hkin_theta 'HMS Scattering Angle Theta; HMS Scattering Angle (deg); Number of Entries / 0.06 deg' H.kin.scat_ang_deg 100 12 18 + +#****************** +# EPICS VARIABLES * +#****************** + +begin epics + +IBC3H00CRCUR4 +hac_bcm_average +ibcm1 +ibcm2 +iunser +itov3out +itov4out + +end epics \ No newline at end of file diff --git a/PARAM/HMS/HODO/CALIB/KPP_Spring_2017/hhodo_calib_303.param b/PARAM/HMS/HODO/CALIB/KPP_Spring_2017/hhodo_calib_303.param index 8aa8ced88515a101ce2da6585155a91009c6f3a7..1b9b4d40be56e4b58322ddf6dd68c842c67e82ff 100644 --- a/PARAM/HMS/HODO/CALIB/KPP_Spring_2017/hhodo_calib_303.param +++ b/PARAM/HMS/HODO/CALIB/KPP_Spring_2017/hhodo_calib_303.param @@ -70,37 +70,37 @@ hhodo_neg_invadc_linear = 15.00, 15.00, 15.00, 15.00 15.00, 15.00, 15.00, 15.00 15.00, 15.00, 15.00, 15.00 -hhodo_pos_invadc_adc= -0.00, -0.00, 106.88, -0.00 - -0.00, -0.00, 109.67, 122.91 - -0.00, 102.28, 127.88, 117.82 - 100.32, 76.55, 109.30, 139.97 - 72.45, 90.73, 111.62, 121.49 - 59.46, 83.45, 116.54, 123.92 - 95.04, 91.79, 125.49, 127.74 - 62.95, 53.50, 113.46, 106.91 - 78.26, 49.84, 100.37, 141.06 - 73.52, -0.00, 101.78, -0.00 - 94.23, -0.00, 129.39, -0.00 - 75.59, -0.00, 94.17, -0.00 - 79.87, -0.00, -0.00, -0.00 - 63.90, -0.00, -0.00, -0.00 +hhodo_pos_invadc_adc= -0.00, -0.00, 106.88*0.20, -0.00 + -0.00, -0.00, 109.67*0.20, 122.91*0.20 + -0.00, 102.28*0.20, 127.88*0.20, 117.82*0.20 + 100.32*0.20, 76.55, 109.30, 139.97 + 72.45*0.20, 90.73, 111.62, 121.49 + 59.46*0.20, 83.45, 116.54, 123.92 + 95.04*0.20, 91.79, 125.49, 127.74 + 62.95*0.20, 53.50, 113.46, 106.91 + 78.26*0.20, 49.84, 100.37, 141.06 + 73.52*0.20, -0.00, 101.78, -0.00 + 94.23*0.20, -0.00, 129.39, -0.00 + 75.59*0.20, -0.00, 94.17, -0.00 + 79.87*0.20, -0.00, -0.00, -0.00 + 63.90*0.20, -0.00, -0.00, -0.00 -0.00, -0.00, -0.00, -0.00 -0.00, -0.00, -0.00, -0.00 -hhodo_neg_invadc_adc= -0.00, -0.00, 128.32, -0.00 - -0.00, -0.00, 113.16, 159.99 - -0.00, 68.41, 116.51, 119.18 - 73.18, 65.95, 112.50, 122.16 - 96.71, 91.23, 96.00, 103.37 - 52.93, 87.48, 103.59, 122.65 - 72.72, 82.28, 118.40, 140.72 - 76.58, 68.02, 104.25, 120.16 - 73.69, 98.85, 91.95, 119.78 - 72.26, -0.00, 89.16, -0.00 - 70.89, -0.00, 113.44, -0.00 - 72.26, -0.00, 101.96, -0.00 - 76.14, -0.00, -0.00, -0.00 - 36.51, -0.00, -0.00, -0.00 +hhodo_neg_invadc_adc= -0.00, -0.00, 128.32*0.20, -0.00 + -0.00, -0.00, 113.16*0.20, 159.99*0.20 + -0.00, 68.41*0.20, 116.51*0.20, 119.18*0.20 + 73.18*0.20, 65.95*0.20, 112.50*0.20, 122.16*0.20 + 96.71*0.20, 91.23*0.20, 96.00*0.20, 103.37*0.20 + 52.93*0.20, 87.48*0.20, 103.59*0.20, 122.65*0.20 + 72.72*0.20, 82.28*0.20, 118.40*0.20, 140.72*0.20 + 76.58*0.20, 68.02*0.20, 104.25*0.20, 120.16*0.20 + 73.69*0.20, 98.85*0.20, 91.95*0.20, 119.78*0.20 + 72.26*0.20, -0.00, 89.16*0.20, -0.00 + 70.89*0.20, -0.00, 113.44*0.20, -0.00 + 72.26*0.20, -0.00, 101.96*0.20, -0.00 + 76.14*0.20, -0.00, -0.00, -0.00 + 36.51*0.20, -0.00, -0.00, -0.00 -0.00, -0.00, -0.00, -0.00 -0.00, -0.00, -0.00, -0.00 diff --git a/SCRIPTS/HMS/PRODUCTION/replay_production_hms_kpp.C b/SCRIPTS/HMS/PRODUCTION/replay_production_hms_kpp.C new file mode 100644 index 0000000000000000000000000000000000000000..3887c4ed028e6bd4d398308505d328059ac7cc67 --- /dev/null +++ b/SCRIPTS/HMS/PRODUCTION/replay_production_hms_kpp.C @@ -0,0 +1,144 @@ +void replay_production_hms_kpp(Int_t RunNumber=0, Int_t MaxEvent=0) { + + // Get RunNumber and MaxEvent if not provided. + if(RunNumber == 0) { + cout << "Enter a Run Number (-1 to exit): "; + cin >> RunNumber; + if( RunNumber<=0 ) return; + } + if(MaxEvent == 0) { + cout << "\nNumber of Events to analyze: "; + cin >> MaxEvent; + if(MaxEvent == 0) { + cerr << "...Invalid entry\n"; + exit; + } + } + + // Create file name patterns. + const char* RunFileNamePattern = "hms_all_%05d.dat"; + vector<TString> pathList; + pathList.push_back("."); + pathList.push_back("./raw"); + pathList.push_back("./cache"); + + const char* ROOTFileNamePattern = "ROOTfiles/hms_replay_production_%d_%d.root"; + + //Load Global parameters + // Add variables to global list. + gHcParms->Define("gen_run_number", "Run Number", RunNumber); + gHcParms->AddString("g_ctp_database_filename", "DBASE/HMS/STD/standard.database"); + // Load varibles from files to global list. + gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); + // g_ctp_parm_filename and g_decode_map_filename should now be defined. + gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber); + gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename")); + gHcParms->Load(gHcParms->GetString("g_ctp_calib_filename")); + // Load params for HMS trigger configuration + gHcParms->Load("PARAM/TRIG/thms.param"); + + // Load the Hall C detector map + gHcDetectorMap = new THcDetectorMap(); + gHcDetectorMap->Load("MAPS/HMS/DETEC/STACK/hms_stack_6gev.map"); + + // Add trigger apparatus + THaApparatus* TRG = new THcTrigApp("T", "TRG"); + gHaApps->Add(TRG); + // Add trigger detector to trigger apparatus + THcTrigDet* hms = new THcTrigDet("hms", "HMS Trigger Information"); + TRG->AddDetector(hms); + + // Set up the equipment to be analyzed. + THaApparatus* HMS = new THcHallCSpectrometer("H", "HMS"); + gHaApps->Add(HMS); + // Add drift chambers to HMS apparatus + THcDC* dc = new THcDC("dc", "Drift Chambers"); + HMS->AddDetector(dc); + // Add hodoscope to HMS apparatus + THcHodoscope* hod = new THcHodoscope("hod", "Hodoscope"); + HMS->AddDetector(hod); + // Add Cherenkov to HMS apparatus + THcCherenkov* cer = new THcCherenkov("cer", "Heavy Gas Cherenkov"); + HMS->AddDetector(cer); + // Add Aerogel Cherenkov to HMS apparatus + //THcAerogel* aero = new THcAerogel("aero", "Aerogel"); + //HMS->AddDetector(aero); + // Add calorimeter to HMS apparatus + THcShower* cal = new THcShower("cal", "Calorimeter"); + HMS->AddDetector(cal); + + // Include golden track information + THaGoldenTrack* gtr = new THaGoldenTrack("H.gtr", "HMS Golden Track", "H"); + gHaPhysics->Add(gtr); + // Add Ideal Beam Apparatus + THaApparatus* beam = new THaIdealBeam("IB", "Ideal Beamline"); + gHaApps->Add(beam); + // Add Physics Module to calculate primary (scattered) beam kinematics + THcPrimaryKine* hkin = new THcPrimaryKine("H.kin", "HMS Single Arm Kinematics", "H", "IB"); + gHaPhysics->Add(hkin); + THcHodoEff* heff = new THcHodoEff("hodeff"," HMS hodo efficiency","H.hod"); + gHaPhysics->Add(heff); + // Add handler for prestart event 125. + THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125"); + gHaEvtHandlers->Add(ev125); + // Add handler for EPICS events + THaEpicsEvtHandler *hcepics = new THaEpicsEvtHandler("epics", "HC EPICS event type 180"); + gHaEvtHandlers->Add(hcepics); + // Add handler for scaler events + THcScalerEvtHandler *hscaler = new THcScalerEvtHandler("H", "Hall C scaler event type 1"); + hscaler->AddEvtType(1); + hscaler->SetUseFirstEvent(kTRUE); + gHaEvtHandlers->Add(hscaler); + + // Set up the analyzer - we use the standard one, + // but this could be an experiment-specific one as well. + // The Analyzer controls the reading of the data, executes + // tests/cuts, loops over Acpparatus's and PhysicsModules, + // and executes the output routines. + THcAnalyzer* analyzer = new THcAnalyzer; + + // A simple event class to be output to the resulting tree. + // Creating your own descendant of THaEvent is one way of + // defining and controlling the output. + THaEvent* event = new THaEvent; + + // Define the run(s) that we want to analyze. + // We just set up one, but this could be many. + THaRun* run = new THaRun( pathList, Form(RunFileNamePattern, RunNumber) ); + + // Set to read in Hall C run database parameters + run->SetRunParamClass("THcRunParameters"); + + // Eventually need to learn to skip over, or properly analyze + // the pedestal events + run->SetEventRange(1, MaxEvent); // Physics Event number, does not + // include scaler or control events. + run->SetNscan(1); + run->SetDataRequired(0x7); + run->Print(); + + // Define the analysis parameters + TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber, MaxEvent); + analyzer->SetCountMode(2); // 0 = counter is # of physics triggers + // 1 = counter is # of all decode reads + // 2 = counter is event number + analyzer->SetEvent(event); + // Set EPICS event type + analyzer->SetEpicsEvtType(180); + // Define crate map + analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat"); + // Define output ROOT file + analyzer->SetOutFile(ROOTFileName.Data()); + // Define output DEF-file + analyzer->SetOdefFile("DEF-files/HMS/PRODUCTION/hstackana_production_kpp.def"); + // Define cuts file + analyzer->SetCutFile("DEF-files/HMS/PRODUCTION/hstackana_production_cuts_kpp.def"); // optional + // File to record cuts accounting information for cuts + analyzer->SetSummaryFile(Form("REPORT_OUTPUT/HMS/PRODUCTION/summary_production_%d_%d.report", RunNumber, MaxEvent)); // optional + // Start the actual analysis. + analyzer->Process(run); + // Create report file from template. + analyzer->PrintReport("TEMPLATES/HMS/PRODUCTION/hstackana_production_kpp.template", + Form("REPORT_OUTPUT/HMS/PRODUCTION/replay_hms_production_%d_%d.report", RunNumber, MaxEvent)); + +} diff --git a/TEMPLATES/HMS/PRODUCTION/hstackana_production_kpp.template b/TEMPLATES/HMS/PRODUCTION/hstackana_production_kpp.template new file mode 100644 index 0000000000000000000000000000000000000000..344555569a7ec2040091ed5790a22db497503b1a --- /dev/null +++ b/TEMPLATES/HMS/PRODUCTION/hstackana_production_kpp.template @@ -0,0 +1,107 @@ +Run #{gen_run_number} + +************************** +* General Run Information +************************** + +1 MhZ Pulses : {H.1Mhz.scaler} +Run Length : {H.1Mhz.scalerTime:%.3f} sec + +*********** +* Beamline +*********** + +BCM1 Current: {H.BCM1.scalerCurrent:%.3f} uA +BCM2 Current: {H.BCM2.scalerCurrent:%.3f} uA +Unser Current: {H.Unser.scalerCurrent:%.3f} uA + +With no cuts on BCM{gBCM_Current_threshold_index+1}. +BCM1 Counts: {H.BCM1.scaler} Total Charge: {H.BCM1.scalerCharge:%.3f} uC +BCM2 Counts: {H.BCM2.scaler} Total Charge: {H.BCM2.scalerCharge:%.3f} uC +Unser Counts: {H.Unser.scaler} Total Charge: {H.Unser.scalerCharge:%.3f} uC + +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. +BCM1 Counts: {H.BCM1.scalerCut} Total Charge: {H.BCM1.scalerChargeCut:%.3f} uC +BCM2 Counts: {H.BCM2.scalerCut} Total Charge: {H.BCM2.scalerChargeCut:%.3f} uC +Unser Counts: {H.Unser.scalerCut} Total Charge: {H.Unser.scalerChargeCut:%.3f} uC + +{hdc_plane_names} +Horizontal drift chamber z positions: +Chamber 1: {hdc_zpos[0]:%6.2f} {hdc_zpos[1]:%6.2f} {hdc_zpos[2]:%6.2f} + {hdc_zpos[3]:%6.2f} {hdc_zpos[4]:%6.2f} {hdc_zpos[5]:%6.2f} +Chamber 2: {hdc_zpos[6]:%6.2f} {hdc_zpos[7]:%6.2f} {hdc_zpos[8]:%6.2f} + {hdc_zpos[9]:%6.2f} {hdc_zpos[10]:%6.2f} {hdc_zpos[11]:%6.2f} + +HMS triggers: {hms_trigs.npassed} + +Hodo efficiency: +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} + +Rate : {H.Trig.scalerRate/1000.:%7.3f} kHz + +Live Time : {(hms_trigs.npassed / H.Trig.scaler)*100.0:%3.2f} % +Dead Time : {100.0 - (hms_trigs.npassed / H.Trig.scaler)*100.0:%3.2f} % + +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} +hmsDC1y2Planes5 Counts: {hmsDC1_5hits_y2.npassed} eff : {hmsDC1_6hits_y2.npassed/hmsDC1_5hits_y2.npassed} +hmsDC1v1Planes5 Counts: {hmsDC1_5hits_v1.npassed} eff : {hmsDC1_6hits_v1.npassed/hmsDC1_5hits_v1.npassed} +hmsDC1y1Planes5 Counts: {hmsDC1_5hits_y1.npassed} eff : {hmsDC1_6hits_y1.npassed/hmsDC1_5hits_y1.npassed} +hmsDC1x2Planes5 Counts: {hmsDC1_5hits_x2.npassed} eff : {hmsDC1_6hits_x2.npassed/hmsDC1_5hits_x2.npassed} + + +hmsDC2x1Planes5 Counts: {hmsDC2_5hits_x1.npassed} eff : {hmsDC2_6hits_x1.npassed/hmsDC2_5hits_x1.npassed} +hmsDC2u1Planes5 Counts: {hmsDC2_5hits_u1.npassed} eff : {hmsDC2_6hits_u1.npassed/hmsDC2_5hits_u1.npassed} +hmsDC2y2Planes5 Counts: {hmsDC2_5hits_y2.npassed} eff : {hmsDC2_6hits_y2.npassed/hmsDC2_5hits_y2.npassed} +hmsDC2v1Planes5 Counts: {hmsDC2_5hits_v1.npassed} eff : {hmsDC2_6hits_v1.npassed/hmsDC2_5hits_v1.npassed} +hmsDC2y1Planes5 Counts: {hmsDC2_5hits_y1.npassed} eff : {hmsDC2_6hits_y1.npassed/hmsDC2_5hits_y1.npassed} +hmsDC2x2Planes5 Counts: {hmsDC2_5hits_x2.npassed} eff : {hmsDC2_6hits_x2.npassed/hmsDC2_5hits_x2.npassed} + + + +***************************** +*HMS TRACKING EFFICIENCIES * +***************************** +htrig : {hmscoin_event.npassed} +hhitslt = passed hits/cham : {hmsHitsLt.npassed} +hhitsplanes = +planes >= 5/6 : {hmsHitsPlanes.npassed} +hhitsplanessps = + sps : {hSpacePoints.npassed} +hhitsplanesspsstubs +stub : {hSpacePointsStub.npassed} +hsfoundtrack : {hFoundTrack.npassed} +hscleantrack : {hCleanTrack.npassed} +hstublt = passed stub tests : {hStubLT.npassed} +h1hitslt : {hms1HitsLt.npassed} +h2hitslt : {hms2HitsLt.npassed} +h1planesgt : {hmsDC1PlanesGT.npassed} +h2planesgt : {hmsDC2PlanesGT.npassed} +hplanesgt = gt 5 planes/cham : {hmsPlanesGT.npassed} +f1hspacepoints : {f1HSpacePoints.npassed} +f2hspacepoints : {f2HSpacePoints.npassed} +htest1=p hits/planes, f sp : {hTest1.npassed} +htest2=p sp, f stubs : {hTest2.npassed} +hdid : {HMSScinDid.npassed} +hdide : {HMSScinDide.npassed} +hdidh : {HMSScinDidh.npassed} +hscinshould : {HMSScinShould.npassed} +hscinshoulde : {HMSScinShoulde.npassed} +hscinshouldh : {HMSScinShouldh.npassed} +SING FID TRACK EFFIC : {HMSScinDid.npassed/(HMSScinShould.npassed+0.0001):%8.4f} +- {(sqrt(HMSScinShould.npassed-HMSScinDid.npassed)/(HMSScinShould.npassed+.0001)):%8.4f} +E SING FID TRACK EFFIC : {HMSScinDide.npassed/(HMSScinShoulde.npassed+0.0001):%8.4f} +- {(sqrt(HMSScinShoulde.npassed-HMSScinDide.npassed)/(HMSScinShoulde.npassed+.0001)):%8.4f} +HADRON SING FID TRACK EFFIC : {HMSScinDidh.npassed/(HMSScinShouldh.npassed+0.0001):%8.4f} +- {(sqrt(HMSScinShouldh.npassed-HMSScinDidh.npassed)/(HMSScinShouldh.npassed+.0001)):%8.4f}