diff --git a/DEF-files/SHMS/STACK/pstackana_cuts.def b/DEF-files/SHMS/STACK/pstackana_cuts.def index de1a135819dfda6b497ae46752b396895b9c56e2..46406dc3689ddfa729ea8465d4c6578a9bd8caee 100644 --- a/DEF-files/SHMS/STACK/pstackana_cuts.def +++ b/DEF-files/SHMS/STACK/pstackana_cuts.def @@ -230,5 +230,47 @@ goodps2y P.hod.2y.nhits > 0 && P.hod.2y.nhits < 3 goodps2 goodps2x && goodps2y goodps1s2 goodps1 && goodps2 +SHMS_hgcer_track_matched_region_1 P.hgcer.numTracksMatched[0]>0 +SHMS_hgcer_track_fired_region_1 P.hgcer.numTracksFired[0]>0 +SHMS_hgcer_track_matched_region_2 P.hgcer.numTracksMatched[1]>0 +SHMS_hgcer_track_fired_region_2 P.hgcer.numTracksFired[1]>0 +SHMS_hgcer_track_matched_region_3 P.hgcer.numTracksMatched[2]>0 +SHMS_hgcer_track_fired_region_3 P.hgcer.numTracksFired[2]>0 +SHMS_hgcer_track_matched_region_4 P.hgcer.numTracksMatched[3]>0 +SHMS_hgcer_track_fired_region_4 P.hgcer.numTracksFired[3]>0 +SHMS_hgcer_track_matched_tot P.hgcer.totNumTracksMatched>0 +SHMS_hgcer_track_fired_tot P.hgcer.totNumTracksFired>0 + +SHMS_ngcer_track_matched_region_1 P.ngcer.numTracksMatched[0]>0 +SHMS_ngcer_track_fired_region_1 P.ngcer.numTracksFired[0]>0 +SHMS_ngcer_track_matched_region_2 P.ngcer.numTracksMatched[1]>0 +SHMS_ngcer_track_fired_region_2 P.ngcer.numTracksFired[1]>0 +SHMS_ngcer_track_matched_region_3 P.ngcer.numTracksMatched[2]>0 +SHMS_ngcer_track_fired_region_3 P.ngcer.numTracksFired[2]>0 +SHMS_ngcer_track_matched_region_4 P.ngcer.numTracksMatched[3]>0 +SHMS_ngcer_track_fired_region_4 P.ngcer.numTracksFired[3]>0 +SHMS_ngcer_track_matched_tot P.ngcer.totNumTracksMatched>0 +SHMS_ngcer_track_fired_tot P.ngcer.totNumTracksFired>0 + +SHMS_aero_track_matched_region_1 P.aero.numTracksMatched[0]>0 +SHMS_aero_track_fired_region_1 P.aero.numTracksFired[0]>0 +SHMS_aero_track_matched_region_2 P.aero.numTracksMatched[1]>0 +SHMS_aero_track_fired_region_2 P.aero.numTracksFired[1]>0 +SHMS_aero_track_matched_region_3 P.aero.numTracksMatched[2]>0 +SHMS_aero_track_fired_region_3 P.aero.numTracksFired[2]>0 +SHMS_aero_track_matched_region_4 P.aero.numTracksMatched[3]>0 +SHMS_aero_track_fired_region_4 P.aero.numTracksFired[3]>0 +SHMS_aero_track_matched_region_5 P.aero.numTracksMatched[4]>0 +SHMS_aero_track_fired_region_5 P.aero.numTracksFired[4]>0 +SHMS_aero_track_matched_region_6 P.aero.numTracksMatched[5]>0 +SHMS_aero_track_fired_region_6 P.aero.numTracksFired[5]>0 +SHMS_aero_track_matched_region_7 P.aero.numTracksMatched[6]>0 +SHMS_aero_track_fired_region_7 P.aero.numTracksFired[6]>0 +SHMS_aero_track_matched_tot P.aero.totNumTracksMatched>0 +SHMS_aero_track_fired_tot P.aero.totNumTracksFired>0 + + + Block: Physics Physics_master SHMS_event + diff --git a/TEMPLATES/SHMS/PRODUCTION/pstackana_production.template b/TEMPLATES/SHMS/PRODUCTION/pstackana_production.template index 7ed00c6b5acbd1a64824f3316427045b88f75f81..14ea4c68d7b75f3a9a99399e34927fa0650f5fe9 100644 --- a/TEMPLATES/SHMS/PRODUCTION/pstackana_production.template +++ b/TEMPLATES/SHMS/PRODUCTION/pstackana_production.template @@ -1,18 +1,13 @@ Run #: {gen_run_number} -Run Time : {P.1Mhz.scaler} {P.1Mhz.scaler/1000000.} sec - -BCM1 : {(P.BCM1.scalerRate-250000)/(4673):%3.3f} uA Total charge = {(P.BCM1.scalerRate-250000) / (4673)*P.1Mhz.scaler/1000000.:%7.3f} uC -BCM2 : {(P.BCM2.scalerRate-250000)/(3954):%3.3f} uA Total charge = {(P.BCM2.scalerRate-250000) / (3954)*P.1Mhz.scaler/1000000.:%7.3f} uC -Unser : {(P.Unser.scalerRate-393000)/(4000):%3.3f} uA Total charge = {(P.Unser.scalerRate-393000) / (4000)*P.1Mhz.scaler/1000000.:%7.3f} uC - All triggers : {all_trigs.npassed} - -Rate : {P.Trig.scalerRate/1000.:%7.3f} kHz +Trig : {P.Trig.scaler:%8d} [{P.Trig.scalerRate:%7.1f}] +Rate : {P.Trig.scalerRate/1000.:%7.3f} kHz Live Time : {(all_trigs.npassed / P.Trig.scaler)*100.0:%3.2f} % Dead Time : {100.0 - (all_trigs.npassed / P.Trig.scaler)*100.0:%3.2f} % +**DRIFT CHAMBER** good_S1_time Counts: {good_S1_time.npassed} / all_trigs : {good_S1_time.npassed / all_trigs.npassed} good_S2X_time Counts: {good_S2X_time.npassed} / all_trigs : {good_S2X_time.npassed / all_trigs.npassed} good_S1_S2X_time Counts: {good_S1_S2X_time.npassed} / all_trigs : {good_S1_S2X_time.npassed / all_trigs.npassed} @@ -58,7 +53,252 @@ shmsDC2u2Planes5 Counts: {shmsDC2_5hits_u2.npassed} eff : {shmsDC2_6hits_u2. shmsDC2v1Planes5 Counts: {shmsDC2_5hits_v1.npassed} eff : {shmsDC2_6hits_v1.npassed / shmsDC2_5hits_v1.npassed} shmsDC2v2Planes5 Counts: {shmsDC2_5hits_v2.npassed} eff : {shmsDC2_6hits_v2.npassed / shmsDC2_5hits_v2.npassed} shmsDC2x2Planes5 Counts: {shmsDC2_5hits_x2.npassed} eff : {shmsDC2_6hits_x2.npassed / shmsDC2_5hits_x2.npassed} - + +I'm pretty sure that these are the "raw" number of counts. "Raw" means one or more hits per dc plane. +shmsDC1_1hit_x1: {shmsDC1_1hit_x1.npassed} ;eff: +shmsDC1_1hit_u1: {shmsDC1_1hit_u1.npassed} ;eff: +shmsDC1_1hit_u2: {shmsDC1_1hit_u2.npassed} ;eff: +shmsDC1_1hit_v1: {shmsDC1_1hit_v1.npassed} ;eff: +shmsDC1_1hit_v2: {shmsDC1_1hit_v2.npassed} ;eff: +shmsDC1_1hit_x2: {shmsDC1_1hit_x2.npassed} ;eff: + +shmsDC2_1hit_x1: {shmsDC2_1hit_x1.npassed} ;eff: +shmsDC2_1hit_u1: {shmsDC2_1hit_u1.npassed} ;eff: +shmsDC2_1hit_u2: {shmsDC2_1hit_u2.npassed} ;eff: +shmsDC2_1hit_v1: {shmsDC2_1hit_v1.npassed} ;eff: +shmsDC2_1hit_v2: {shmsDC2_1hit_v2.npassed} ;eff: +shmsDC2_1hit_x2: {shmsDC2_1hit_x2.npassed} ;eff: + +"Good" means one or two hits per dc plane. +goodHDC1x1: {goodHDC1x1.npassed} eff : {goodHDC1x1.npassed/(P.Trig.scaler+.0001):%5.3f} +goodHDC1u2: {goodHDC1u2.npassed} eff : {goodHDC1u2.npassed/(P.Trig.scaler+.0001):%5.3f} +goodHDC1u1: {goodHDC1u1.npassed} eff : {goodHDC1u1.npassed/(P.Trig.scaler+.0001):%5.3f} +goodHDC1v1: {goodHDC1v1.npassed} eff : {goodHDC1v1.npassed/(P.Trig.scaler+.0001):%5.3f} +goodHDC1v2: {goodHDC1v2.npassed} eff : {goodHDC1v2.npassed/(P.Trig.scaler+.0001):%5.3f} +goodHDC1x2: {goodHDC1x2.npassed} eff : {goodHDC1x2.npassed/(P.Trig.scaler+.0001):%5.3f} + +goodHDC2x1: {goodHDC2x1.npassed} eff : {goodHDC2x1.npassed/(P.Trig.scaler+.0001):%5.3f} +goodHDC2u2: {goodHDC2u2.npassed} eff : {goodHDC2u2.npassed/(P.Trig.scaler+.0001):%5.3f} +goodHDC2u1: {goodHDC2u1.npassed} eff : {goodHDC2u1.npassed/(P.Trig.scaler+.0001):%5.3f} +goodHDC2v1: {goodHDC2v1.npassed} eff : {goodHDC2v1.npassed/(P.Trig.scaler+.0001):%5.3f} +goodHDC2v2: {goodHDC2v2.npassed} eff : {goodHDC2v2.npassed/(P.Trig.scaler+.0001):%5.3f} +goodHDC2x2: {goodHDC2x2.npassed} eff : {goodHDC2x2.npassed/(P.Trig.scaler+.0001):%5.3f} + +goodHDC1: {goodHDC1.npassed} eff : {goodHDC1.npassed/(P.Trig.scaler+.0001):%5.3f} +goodHDC2: {goodHDC2.npassed} eff : {goodHDC2.npassed/(P.Trig.scaler+.0001):%5.3f} +bothgood: {bothGood.npassed} eff : {bothGood.npassed/(P.Trig.scaler+.0001):%5.3f} + +realhdc1x1: {realhdc1x1.npassed} +realhdc1u2: {realhdc1u2.npassed} +realhdc1u1: {realhdc1u1.npassed} +realhdc1v1: {realhdc1v1.npassed} +realhdc1v2: {realhdc1v2.npassed} +realhdc1x2: {realhdc1x2.npassed} + +realhdc2x1: {realhdc2x1.npassed} +realhdc2u2: {realhdc2u2.npassed} +realhdc2u1: {realhdc2u1.npassed} +realhdc2v1: {realhdc2v1.npassed} +realhdc2v2: {realhdc2v2.npassed} +realhdc2x2: {realhdc2x2.npassed} + +**HODOSCOPE** + +"Any" means one or more hits per scint plane. +anyhs1x : {anyhs1x.npassed} eff: {anyhs1x.npassed/(P.Trig.scaler+.0001):%5.3f} BAD = ?? +anyhs1y : {anyhs1y.npassed} eff: {anyhs1y.npassed/(P.Trig.scaler+.0001):%5.3f} +anyhs2x : {anyhs2x.npassed} eff: {anyhs2x.npassed/(P.Trig.scaler+.0001):%5.3f} +anyhs2y : {anyhs2y.npassed} eff: {anyhs2y.npassed/(P.Trig.scaler+.0001):%5.3f} + +"Good" means one or two hits per scint plane. +goodps1x : {goodps1x.npassed} eff: {goodps1x.npassed/(P.Trig.scaler+.0001):%5.3f} BAD = ?? +goodps1y : {goodps1y.npassed} eff: {goodps1y.npassed/(P.Trig.scaler+.0001):%5.3f} +goodps1 : {goodps1.npassed} eff: {goodps1.npassed/(P.Trig.scaler+.0001):%5.3f} +goodps2x : {goodps2x.npassed} eff: {goodps2x.npassed/(P.Trig.scaler+.0001):%5.3f} +goodps2y : {goodps2y.npassed} eff: {goodps2y.npassed/(P.Trig.scaler+.0001):%5.3f} +goodps2 : {goodps2.npassed} eff: {goodps2.npassed/(P.Trig.scaler+.0001):%5.3f} +goodps1s2: {goodps1s2.npassed} eff: {goodps1s2.npassed/(P.Trig.scaler+.0001):%5.3f} + +**CHERENKOVS AND CAL** +cer_ng_elec : {cer_ng_elec.npassed} +cer_ng_pi : {cer_ng_pi.npassed} +cer_hg_elec : {cer_hg_elec.npassed} +cer_hg_pi : {cer_hg_pi.npassed} +cer_pi_both : {cer_pi_both.npassed} +cer_elec_both : {cer_elec_both.npassed} +cal_elec : {cal_elec.npassed} +cal_pi : {cal_pi.npassed} +elec_all : {elec_all.npassed} +pi_all : {pi_all.npassed} + +pCleanTrack_cer_elec : {pCleanTrack_cer_elec.npassed} +p1hit1_cer_elec : {p1hit1_cer_elec.npassed} +pCleanTrack_cal_elec : {pCleanTrack_cal_elec.npassed} +p1hit1_cal_elec : {p1hit1_cal_elec.npassed} + +*NGC EFF* +Mirror 1 Efficiency +Mirror 2 Efficiency +Mirror 3 Efficiency +Mirror 4 Efficiency +Overall Efficiency + +*HGC EFF* +Mirror 1 Efficiency +Mirror 2 Efficiency +Mirror 3 Efficiency +Mirror 4 Efficiency +Overall Efficiency + +*CAL EFF* +Block eff Hits + +*HODO EFF* +Scint Pos eff Neg eff OR eff AND eff Hits +----------------------------------------------------------------------------------------------------------- +P1X1+ +P1X2+ +P1X3+ +P1X4+ +P1X5+ +P1X6+ +P1X7+ +P1X8+ +P1X9+ +P1X10+ +P1X11+ +P1X12+ +P1X13+ + +P1X1- +P1X2- +P1X3- +P1X4- +P1X5- +P1X6- +P1X7- +P1X8- +P1X9- +P1X10- +P1X11- +P1X12- +P1X13- + +P1Y1+ +P1Y2+ +P1Y3+ +P1Y4+ +P1Y5+ +P1Y6+ +P1Y7+ +P1Y8+ +P1Y9+ +P1Y10+ +P1Y11+ +P1Y12+ +P1Y13+ + +P1Y1- +P1Y2- +P1Y3- +P1Y4- +P1Y5- +P1Y6- +P1Y7- +P1Y8- +P1Y9- +P1Y10- +P1Y11- +P1Y12- +P1Y13- + +P2X1+ +P2X2+ +P2X3+ +P2X4+ +P2X5+ +P2X6+ +P2X7+ +P2X8+ +P2X9+ +P2X10+ +P2X11+ +P2X12+ +P2X13+ +P2X14+ + +P2X1- +P2X2- +P2X3- +P2X4- +P2X5- +P2X6- +P2X7- +P2X8- +P2X9- +P2X10- +P2X11- +P2X12- +P2X13- +P2X14- + +P2Y1+ +P2Y2+ +P2Y3+ +P2Y4+ +P2Y5+ +P2Y6+ +P2Y7+ +P2Y8+ +P2Y9+ +P2Y10+ +P2Y11+ +P2Y12+ +P2Y13+ +P2Y14+ +P2Y15+ +P2Y16+ +P2Y17+ +P2Y18+ +P2Y19+ +P2Y20+ +P2Y21+ + +P2Y1- +P2Y2- +P2Y3- +P2Y4- +P2Y5- +P2Y6- +P2Y7- +P2Y8- +P2Y9- +P2Y10- +P2Y11- +P2Y12- +P2Y13- +P2Y14- +P2Y15- +P2Y16- +P2Y17- +P2Y18- +P2Y19- +P2Y20- +P2Y21- + +**TRACKING** +pFoundTrack :{pFoundTrack.npassed} eff: {pFoundTrack.npassed/(P.Trig.scaler+.0001):%5.3f} BAD = ?? +pFound1Track :{pFound1Track.npassed} eff: {pFound1Track.npassed/(P.Trig.scaler+.0001):%5.3f} +pFound2Track :{pFound2Track.npassed} eff: {pFound2Track.npassed/(P.Trig.scaler+.0001):%5.3f} +pFound3Track :{pFound3Track.npassed} eff: {pFound3Track.npassed/(P.Trig.scaler+.0001):%5.3f} +pFound4Track :{pFound4Track.npassed} eff: {pFound4Track.npassed/(P.Trig.scaler+.0001):%5.3f} + +pCleanTrack :{pCleanTrack.npassed} eff: {pCleanTrack.npassed/(P.Trig.scaler+.0001):%5.3f} BAD = ?? +1pCleanTrack:{1pCleanTrack.npassed} eff: {1pCleanTrack.npassed/(P.Trig.scaler+.0001):%5.3f} +2pCleanTrack:{2pCleanTrack.npassed} eff: {2pCleanTrack.npassed/(P.Trig.scaler+.0001):%5.3f} +3pCleanTrack:{3pCleanTrack.npassed} eff: {3pCleanTrack.npassed/(P.Trig.scaler+.0001):%5.3f} +4pCleanTrack:{4pCleanTrack.npassed} eff: {4pCleanTrack.npassed/(P.Trig.scaler+.0001):%5.3f} + ****************************** * SHMS TRACKING EFFICIENCIES * ****************************** @@ -88,3 +328,4 @@ pscinshouldh : {shmsScinShouldh.npassed} SING FID TRACK EFFIC : {shmsScinDid.npassed / (shmsScinShould.npassed+0.0001):%8.4f} +- {(sqrt(shmsScinShould.npassed-shmsScinDid.npassed) / (shmsScinShould.npassed+.0001)):%8.4f} E SING FID TRACK EFFIC : {shmsScinDide.npassed / (shmsScinShoulde.npassed+0.0001):%8.4f} +- {(sqrt(shmsScinShoulde.npassed-shmsScinDide.npassed) / (shmsScinShoulde.npassed+.0001)):%8.4f} HADRON SING FID TRACK EFFIC : {shmsScinDidh.npassed / (shmsScinShouldh.npassed+0.0001):%8.4f} +- {(sqrt(shmsScinShouldh.npassed-shmsScinDidh.npassed) / (shmsScinShouldh.npassed+.0001)):%8.4f} + diff --git a/TEMPLATES/SHMS/SCALERS/pscalers.template b/TEMPLATES/SHMS/SCALERS/pscalers.template index 8c23dee4694ddd216956d647ea827d5fbbe99fb0..08fab11693f34347c7f76e23a68350bd12c48c57 100644 --- a/TEMPLATES/SHMS/SCALERS/pscalers.template +++ b/TEMPLATES/SHMS/SCALERS/pscalers.template @@ -7,16 +7,15 @@ BCM2 : {(P.BCM2.scalerRate-250000)/(3954):%3.3f} uA Total charge = {(P.BCM Unser : {(P.Unser.scalerRate-393000)/(4000):%3.3f} uA Total charge = {(P.Unser.scalerRate-393000) / (4000)*P.1Mhz.scaler/1000000.:%7.3f} uC All triggers : {all_trigs.npassed} -sTrig : {P.Trig.scaler:%8d} [{P.Trig.scalerRate:%7.1f}] +Trig : {P.Trig.scaler:%8d} [{P.Trig.scalerRate:%7.1f}] Rate : {P.Trig.scalerRate/1000.:%7.3f} kHz Live Time : {(all_trigs.npassed / P.Trig.scaler)*100.0:%3.2f} % Dead Time : {100.0 - (all_trigs.npassed / P.Trig.scaler)*100.0:%3.2f} % ******HARDWARE SCALERS****** -First column is the name, second column is the number of counts, third column is the rate. - *HODOSCOPES* +Scint Counts Rate P1X1+: {P.hod.1x1.posScaler:%8d} [ {P.hod.1x1.posScalerRate:%7.1f} ] P1X2+: {P.hod.1x2.posScaler:%8d} [ {P.hod.1x2.posScalerRate:%7.1f} ] P1X3+: {P.hod.1x3.posScaler:%8d} [ {P.hod.1x3.posScalerRate:%7.1f} ] @@ -160,4 +159,6 @@ AERSUM: {P.AERSUM.scaler:%8d} [{P.AERSUM.scalerRate:%7.1f}] Sum of aerogel sign PSHWRLO:{P.PSHWRLO.scaler:%8d} [{P.PSHWRLO.scalerRate:%7.1f}] Sum of preshower signals that pass a discriminator threshold PSHWRHI:{P.PSHWRHI.scaler:%8d} [{P.PSHWRHI.scalerRate:%7.1f}] Sum of preshower signals that pass a slightly higher discriminator threshold +*CHERENKOVS??* + ******END HARDWARE SCALERS****** \ No newline at end of file diff --git a/TEMPLATES/SHMS/STACK/pstackana.template b/TEMPLATES/SHMS/STACK/pstackana.template index 657c87e0c79b6dc0e4cf4b522d88859c5b170f00..d1b1c018c7d276d5bbc27cf7959d9415e1472f58 100644 --- a/TEMPLATES/SHMS/STACK/pstackana.template +++ b/TEMPLATES/SHMS/STACK/pstackana.template @@ -1,19 +1,7 @@ -Run #: {gen_run_number} - -Run Time : {P.1Mhz.scaler} {P.1Mhz.scaler/1000000.} sec - -BCM1 : {(P.BCM1.scalerRate-250000)/(4673):%3.3f} uA Total charge = {(P.BCM1.scalerRate-250000) / (4673)*P.1Mhz.scaler/1000000.:%7.3f} uC -BCM2 : {(P.BCM2.scalerRate-250000)/(3954):%3.3f} uA Total charge = {(P.BCM2.scalerRate-250000) / (3954)*P.1Mhz.scaler/1000000.:%7.3f} uC -Unser : {(P.Unser.scalerRate-393000)/(4000):%3.3f} uA Total charge = {(P.Unser.scalerRate-393000) / (4000)*P.1Mhz.scaler/1000000.:%7.3f} uC +Run #{gen_run_number} All triggers : {all_trigs.npassed} -Rate : {P.Trig.scalerRate/1000.:%7.3f} kHz - -Live Time : {(all_trigs.npassed / P.Trig.scaler)*100.0:%3.2f} % -Dead Time : {100.0 - (all_trigs.npassed / P.Trig.scaler)*100.0:%3.2f} % - -**DRIFT CHAMBER** good_S1_time Counts: {good_S1_time.npassed} / all_trigs : {good_S1_time.npassed / all_trigs.npassed} good_S2X_time Counts: {good_S2X_time.npassed} / all_trigs : {good_S2X_time.npassed / all_trigs.npassed} good_S1_S2X_time Counts: {good_S1_S2X_time.npassed} / all_trigs : {good_S1_S2X_time.npassed / all_trigs.npassed} @@ -95,37 +83,39 @@ SING FID TRACK EFFIC : {shmsScinDid.npassed / (shmsScinShould.npassed+ E SING FID TRACK EFFIC : {shmsScinDide.npassed / (shmsScinShoulde.npassed+0.0001):%8.4f} +- {(sqrt(shmsScinShoulde.npassed-shmsScinDide.npassed) / (shmsScinShoulde.npassed+.0001)):%8.4f} HADRON SING FID TRACK EFFIC : {shmsScinDidh.npassed / (shmsScinShouldh.npassed+0.0001):%8.4f} +- {(sqrt(shmsScinShouldh.npassed-shmsScinDidh.npassed) / (shmsScinShouldh.npassed+.0001)):%8.4f} -shmsDC1_1hit_x1: {shmsDC1_1hit_x1.npassed} -shmsDC1_1hit_u1: {shmsDC1_1hit_u1.npassed} -shmsDC1_1hit_u2: {shmsDC1_1hit_u2.npassed} -shmsDC1_1hit_v1: {shmsDC1_1hit_v1.npassed} -shmsDC1_1hit_v2: {shmsDC1_1hit_v2.npassed} -shmsDC1_1hit_x2: {shmsDC1_1hit_x2.npassed} - -shmsDC2_1hit_x1: {shmsDC2_1hit_x1.npassed} -shmsDC2_1hit_u1: {shmsDC2_1hit_u1.npassed} -shmsDC2_1hit_u2: {shmsDC2_1hit_u2.npassed} -shmsDC2_1hit_v1: {shmsDC2_1hit_v1.npassed} -shmsDC2_1hit_v2: {shmsDC2_1hit_v2.npassed} -shmsDC2_1hit_x2: {shmsDC2_1hit_x2.npassed} - -goodHDC1x1: {goodHDC1x1.npassed} eff : {goodHDC1x1.npassed/(P.Trig.scaler+.0001):%5.3f} -goodHDC1u2: {goodHDC1u2.npassed} eff : {goodHDC1u2.npassed/(P.Trig.scaler+.0001):%5.3f} -goodHDC1u1: {goodHDC1u1.npassed} eff : {goodHDC1u1.npassed/(P.Trig.scaler+.0001):%5.3f} -goodHDC1v1: {goodHDC1v1.npassed} eff : {goodHDC1v1.npassed/(P.Trig.scaler+.0001):%5.3f} -goodHDC1v2: {goodHDC1v2.npassed} eff : {goodHDC1v2.npassed/(P.Trig.scaler+.0001):%5.3f} -goodHDC1x2: {goodHDC1x2.npassed} eff : {goodHDC1x2.npassed/(P.Trig.scaler+.0001):%5.3f} - -goodHDC2x1: {goodHDC2x1.npassed} eff : {goodHDC2x1.npassed/(P.Trig.scaler+.0001):%5.3f} -goodHDC2u2: {goodHDC2u2.npassed} eff : {goodHDC2u2.npassed/(P.Trig.scaler+.0001):%5.3f} -goodHDC2u1: {goodHDC2u1.npassed} eff : {goodHDC2u1.npassed/(P.Trig.scaler+.0001):%5.3f} -goodHDC2v1: {goodHDC2v1.npassed} eff : {goodHDC2v1.npassed/(P.Trig.scaler+.0001):%5.3f} -goodHDC2v2: {goodHDC2v2.npassed} eff : {goodHDC2v2.npassed/(P.Trig.scaler+.0001):%5.3f} -goodHDC2x2: {goodHDC2x2.npassed} eff : {goodHDC2x2.npassed/(P.Trig.scaler+.0001):%5.3f} - -goodHDC1: {goodHDC1.npassed} eff : {goodHDC1.npassed/(P.Trig.scaler+.0001):%5.3f} -goodHDC2: {goodHDC2.npassed} eff : {goodHDC2.npassed/(P.Trig.scaler+.0001):%5.3f} -bothgood: {bothgood.npassed} eff : {bothgood.npassed/(P.Trig.scaler+.0001):%5.3f} +I'm pretty sure that these are the "raw" number of counts. "Raw" means one or more hits per dc plane. +shmsDC1_1hit_x1: {shmsDC1_1hit_x1.npassed} ;eff: +shmsDC1_1hit_u1: {shmsDC1_1hit_u1.npassed} ;eff: +shmsDC1_1hit_u2: {shmsDC1_1hit_u2.npassed} ;eff: +shmsDC1_1hit_v1: {shmsDC1_1hit_v1.npassed} ;eff: +shmsDC1_1hit_v2: {shmsDC1_1hit_v2.npassed} ;eff: +shmsDC1_1hit_x2: {shmsDC1_1hit_x2.npassed} ;eff: + +shmsDC2_1hit_x1: {shmsDC2_1hit_x1.npassed} ;eff: +shmsDC2_1hit_u1: {shmsDC2_1hit_u1.npassed} ;eff: +shmsDC2_1hit_u2: {shmsDC2_1hit_u2.npassed} ;eff: +shmsDC2_1hit_v1: {shmsDC2_1hit_v1.npassed} ;eff: +shmsDC2_1hit_v2: {shmsDC2_1hit_v2.npassed} ;eff: +shmsDC2_1hit_x2: {shmsDC2_1hit_x2.npassed} ;eff: + +"Good" means one or two hits per dc plane. +goodHDC1x1: {goodHDC1x1.npassed} eff : {goodHDC1x1.npassed/(shmscoin_event.npassed+.0001):%5.3f} +goodHDC1u2: {goodHDC1u2.npassed} eff : {goodHDC1u2.npassed/(shmscoin_event.npassed+.0001):%5.3f} +goodHDC1u1: {goodHDC1u1.npassed} eff : {goodHDC1u1.npassed/(shmscoin_event.npassed+.0001):%5.3f} +goodHDC1v1: {goodHDC1v1.npassed} eff : {goodHDC1v1.npassed/(shmscoin_event.npassed+.0001):%5.3f} +goodHDC1v2: {goodHDC1v2.npassed} eff : {goodHDC1v2.npassed/(shmscoin_event.npassed+.0001):%5.3f} +goodHDC1x2: {goodHDC1x2.npassed} eff : {goodHDC1x2.npassed/(shmscoin_event.npassed+.0001):%5.3f} + +goodHDC2x1: {goodHDC2x1.npassed} eff : {goodHDC2x1.npassed/(shmscoin_event.npassed+.0001):%5.3f} +goodHDC2u2: {goodHDC2u2.npassed} eff : {goodHDC2u2.npassed/(shmscoin_event.npassed+.0001):%5.3f} +goodHDC2u1: {goodHDC2u1.npassed} eff : {goodHDC2u1.npassed/(shmscoin_event.npassed+.0001):%5.3f} +goodHDC2v1: {goodHDC2v1.npassed} eff : {goodHDC2v1.npassed/(shmscoin_event.npassed+.0001):%5.3f} +goodHDC2v2: {goodHDC2v2.npassed} eff : {goodHDC2v2.npassed/(shmscoin_event.npassed+.0001):%5.3f} +goodHDC2x2: {goodHDC2x2.npassed} eff : {goodHDC2x2.npassed/(shmscoin_event.npassed+.0001):%5.3f} + +goodHDC1: {goodHDC1.npassed} eff : {goodHDC1.npassed/(shmscoin_event.npassed+.0001):%5.3f} +goodHDC2: {goodHDC2.npassed} eff : {goodHDC2.npassed/(shmscoin_event.npassed+.0001):%5.3f} +bothgood: {bothGood.npassed} eff : {bothGood.npassed/(shmscoin_event.npassed+.0001):%5.3f} realhdc1x1: {realhdc1x1.npassed} realhdc1u2: {realhdc1u2.npassed} @@ -142,18 +132,35 @@ realhdc2v2: {realhdc2v2.npassed} realhdc2x2: {realhdc2x2.npassed} **HODOSCOPE** -anyhs1x : {anyhs1x.npassed} eff: {anyhs1x.npassed/(P.Trig.scaler+.0001):%5.3f} BAD = 0.99 -anyhs1y : {anyhs1y.npassed} eff: {anyhs1y.npassed/(P.Trig.scaler+.0001):%5.3f} -anyhs2x : {anyhs2x.npassed} eff: {anyhs2x.npassed/(P.Trig.scaler+.0001):%5.3f} -anyhs2y : {anyhs2y.npassed} eff: {anyhs2y.npassed/(P.Trig.scaler+.0001):%5.3f} - -goodps1x : {goodps1x.npassed} eff: {goodps1x.npassed/(P.Trig.scaler+.0001):%5.3f} -goodps1y : {goodps1y.npassed} eff: {goodps1y.npassed/(P.Trig.scaler+.0001):%5.3f} -goodps1 : {goodps1.npassed} eff: {goodps1.npassed/(P.Trig.scaler+.0001):%5.3f} -goodps2x : {goodps2x.npassed} eff: {goodps2x.npassed/(P.Trig.scaler+.0001):%5.3f} -goodps2y : {goodps2y.npassed} eff: {goodps2y.npassed/(P.Trig.scaler+.0001):%5.3f} -goodps2 : {goodps2.npassed} eff: {goodps2.npassed/(P.Trig.scaler+.0001):%5.3f} -goodps1s2: {goodps1s2.npassed} eff: {goodps1s2.npassed/P.Trig.scaler+.0001):%5.3f} + +"Any" means one or more hits per scint plane. +anyhs1x : {anyhs1x.npassed} eff: {anyhs1x.npassed/(shmscoin_event.npassed+.0001):%5.3f} BAD = ?? +anyhs1y : {anyhs1y.npassed} eff: {anyhs1y.npassed/(shmscoin_event.npassed+.0001):%5.3f} +anyhs2x : {anyhs2x.npassed} eff: {anyhs2x.npassed/(shmscoin_event.npassed+.0001):%5.3f} +anyhs2y : {anyhs2y.npassed} eff: {anyhs2y.npassed/(shmscoin_event.npassed+.0001):%5.3f} + +"Good" means one or two hits per scint plane. +goodps1x : {goodps1x.npassed} eff: {goodps1x.npassed/(shmscoin_event.npassed+.0001):%5.3f} BAD = ?? +goodps1y : {goodps1y.npassed} eff: {goodps1y.npassed/(shmscoin_event.npassed+.0001):%5.3f} +goodps1 : {goodps1.npassed} eff: {goodps1.npassed/(shmscoin_event.npassed+.0001):%5.3f} +goodps2x : {goodps2x.npassed} eff: {goodps2x.npassed/(shmscoin_event.npassed+.0001):%5.3f} +goodps2y : {goodps2y.npassed} eff: {goodps2y.npassed/(shmscoin_event.npassed+.0001):%5.3f} +goodps2 : {goodps2.npassed} eff: {goodps2.npassed/(shmscoin_event.npassed+.0001):%5.3f} +goodps1s2: {goodps1s2.npassed} eff: {goodps1s2.npassed/(shmscoin_event.npassed+.0001):%5.3f} + +**TRACKING** + +pFoundTrack :{pFoundTrack.npassed} eff: {pFoundTrack.npassed/(shmscoin_event.npassed+.0001):%5.3f} BAD = ?? +pFound1Track :{pFound1Track.npassed} eff: {pFound1Track.npassed/(shmscoin_event.npassed+.0001):%5.3f} +pFound2Track :{pFound2Track.npassed} eff: {pFound2Track.npassed/(shmscoin_event.npassed+.0001):%5.3f} +pFound3Track :{pFound3Track.npassed} eff: {pFound3Track.npassed/(shmscoin_event.npassed+.0001):%5.3f} +pFound4Track :{pFound4Track.npassed} eff: {pFound4Track.npassed/(shmscoin_event.npassed+.0001):%5.3f} + +pCleanTrack :{pCleanTrack.npassed} eff: {pCleanTrack.npassed/(shmscoin_event.npassed+.0001):%5.3f} BAD = ?? +1pCleanTrack:{1pCleanTrack.npassed} eff: {1pCleanTrack.npassed/(shmscoin_event.npassed+.0001):%5.3f} +2pCleanTrack:{2pCleanTrack.npassed} eff: {2pCleanTrack.npassed/(shmscoin_event.npassed+.0001):%5.3f} +3pCleanTrack:{3pCleanTrack.npassed} eff: {3pCleanTrack.npassed/(shmscoin_event.npassed+.0001):%5.3f} +4pCleanTrack:{4pCleanTrack.npassed} eff: {4pCleanTrack.npassed/(shmscoin_event.npassed+.0001):%5.3f} **CHERENKOVS AND CAL** cer_ng_elec : {cer_ng_elec.npassed} @@ -161,6 +168,7 @@ cer_ng_pi : {cer_ng_pi.npassed} cer_hg_elec : {cer_hg_elec.npassed} cer_hg_pi : {cer_hg_pi.npassed} cer_pi_both : {cer_pi_both.npassed} + cer_elec_both : {cer_elec_both.npassed} cal_elec : {cal_elec.npassed} cal_pi : {cal_pi.npassed} @@ -172,15 +180,201 @@ p1hit1_cer_elec : {p1hit1_cer_elec.npassed} pCleanTrack_cal_elec : {pCleanTrack_cal_elec.npassed} p1hit1_cal_elec : {p1hit1_cal_elec.npassed} -**TRACKING** -pFoundTrack :{pFoundTrack.npassed} eff: {pFoundTrack.npassed/(P.Trig.scaler+.0001):%5.3f} BAD = .95 -pFound1Track :{pFound1Track.npassed} eff: {pFound1Track.npassed/(P.Trig.scaler+.0001):%5.3f} -pFound2Track :{pFound2Track.npassed} eff: {pFound2Track.npassed/(P.Trig.scaler+.0001):%5.3f} -pFound3Track :{pFound3Track.npassed} eff: {pFound3Track.npassed/(P.Trig.scaler+.0001):%5.3f} -pFound4Track :{pFound4Track.npassed} eff: {pFound4Track.npassed/(P.Trig.scaler+.0001):%5.3f} - -pCleanTrack :{pCleanTrack.npassed} eff: {pCleanTrack.npassed/(P.Trig.scaler+.0001):%5.3f} BAD = 0.95 -1pCleanTrack:{1pCleanTrack.npassed} eff: {1pCleanTrack.npassed/(P.Trig.scaler+.0001):%5.3f} -2pCleanTrack:{2pCleanTrack.npassed} eff: {2pCleanTrack.npassed/(P.Trig.scaler+.0001):%5.3f} -3pCleanTrack:{3pCleanTrack.npassed} eff: {3pCleanTrack.npassed/(P.Trig.scaler+.0001):%5.3f} -4pCleanTrack:{4pCleanTrack.npassed} eff: {4pCleanTrack.npassed/(P.Trig.scaler+.0001):%5.3f} +************ +* Cerenkov * +************ + +Good Track Requirements: + 1. Only one track found in the focal plane + 2. chisq/dof < {phgcer_red_chi2_max:%5.1f} + 3. {phgcer_beta_min:%5.3f} < beta < {phgcer_beta_max:%5.3f} + 4. {phgcer_enorm_min:%5.3f} < calorimeter energy < {phgcer_enorm_max:%5.3f} +Threshold set at {phgcer_npe_thresh:%4.1f} + +*HGC EFF* 4PMTs +SHMS HGC Region 1 efficiency: {SHMS_hgcer_track_matched_region_1.npassed}/{SHMS_hgcer_track_fired_region_1.npassed} = {SHMS_hgcer_track_matched_region_1.npassed} of {SHMS_hgcer_track_fired_region_1.npassed} of good tracks. +SHMS HGC Region 2 efficiency: {SHMS_hgcer_track_matched_region_2.npassed}/{SHMS_hgcer_track_fired_region_2.npassed} = {SHMS_hgcer_track_matched_region_2.npassed} of {SHMS_hgcer_track_fired_region_2.npassed} of good tracks. +SHMS HGC Region 3 efficiency: {SHMS_hgcer_track_matched_region_3.npassed}/{SHMS_hgcer_track_fired_region_3.npassed} = {SHMS_hgcer_track_matched_region_3.npassed} of {SHMS_hgcer_track_fired_region_3.npassed} of good tracks. +SHMS HGC Region 4 efficiency: {SHMS_hgcer_track_matched_region_4.npassed}/{SHMS_hgcer_track_fired_region_4.npassed} = {SHMS_hgcer_track_matched_region_4.npassed} of {SHMS_hgcer_track_fired_region_4.npassed} of good tracks. +Overall HGC Efficiency: {SHMS_hgcer_track_matched_tot.npassed}/{SHMS_hgcer_track_fired_tot.npassed} = {SHMS_hgcer_track_matched_tot.npassed} of {SHMS_hgcer_track_fired_tot.npassed} of good tracks. + +*************************** +* NGC and AEROGEL DET need more beginning info: +*************************** +*NGC EFF* 4PMTs +SHMS NGC Region 1 efficiency: {SHMS_ngcer_track_matched_region_1.npassed}/{SHMS_ngcer_track_fired_region_1.npassed} = {SHMS_ngcer_track_matched_region_1.npassed} of {SHMS_ngcer_track_fired_region_1.npassed} of good tracks. +SHMS NGC Region 2 efficiency: {SHMS_ngcer_track_matched_region_2.npassed}/{SHMS_ngcer_track_fired_region_2.npassed} = {SHMS_ngcer_track_matched_region_2.npassed} of {SHMS_ngcer_track_fired_region_2.npassed} of good tracks. +SHMS NGC Region 3 efficiency: {SHMS_ngcer_track_matched_region_3.npassed}/{SHMS_ngcer_track_fired_region_3.npassed} = {SHMS_ngcer_track_matched_region_3.npassed} of {SHMS_ngcer_track_fired_region_3.npassed} of good tracks. +SHMS NGC Region 4 efficiency: {SHMS_ngcer_track_matched_region_4.npassed}/{SHMS_ngcer_track_fired_region_4.npassed} = {SHMS_ngcer_track_matched_region_4.npassed} of {SHMS_ngcer_track_fired_region_4.npassed} of good tracks. +Overall NGC Efficiency: {SHMS_ngcer_track_matched_tot.npassed}/{SHMS_ngcer_track_fired_tot.npassed} = {SHMS_ngcer_track_matched_tot.npassed} of {SHMS_ngcer_track_fired_tot.npassed} of good tracks. + +*AEROGEL EFF* 7 PMT pairs +SHMS AERO Region 1 efficiency: {SHMS_aero_track_matched_region_1.npassed}/{SHMS_aero_track_fired_region_1.npassed} = {SHMS_aero_track_matched_region_1.npassed} of {SHMS_aero_track_fired_region_1.npassed} of good tracks. +SHMS AERO Region 2 efficiency: {SHMS_aero_track_matched_region_2.npassed}/{SHMS_aero_track_fired_region_2.npassed} = {SHMS_aero_track_matched_region_2.npassed} of {SHMS_aero_track_fired_region_2.npassed} of good tracks. +SHMS AERO Region 3 efficiency: {SHMS_aero_track_matched_region_3.npassed}/{SHMS_aero_track_fired_region_3.npassed} = {SHMS_aero_track_matched_region_3.npassed} of {SHMS_aero_track_fired_region_3.npassed} of good tracks. +SHMS AERO Region 4 efficiency: {SHMS_aero_track_matched_region_4.npassed}/{SHMS_aero_track_fired_region_4.npassed} = {SHMS_aero_track_matched_region_4.npassed} of {SHMS_aero_track_fired_region_4.npassed} of good tracks. +SHMS AERO Region 5 efficiency: {SHMS_aero_track_matched_region_5.npassed}/{SHMS_aero_track_fired_region_5.npassed} = {SHMS_aero_track_matched_region_5.npassed} of {SHMS_aero_track_fired_region_5.npassed} of good tracks. +SHMS AERO Region 6 efficiency: {SHMS_aero_track_matched_region_6.npassed}/{SHMS_aero_track_fired_region_6.npassed} = {SHMS_aero_track_matched_region_6.npassed} of {SHMS_aero_track_fired_region_6.npassed} of good tracks. +SHMS AERO Region 7 efficiency: {SHMS_aero_track_matched_region_7.npassed}/{SHMS_aero_track_fired_region_7.npassed} = {SHMS_aero_track_matched_region_7.npassed} of {SHMS_aero_track_fired_region_7.npassed} of good tracks. +Overall AERO Efficiency: {SHMS_aero_track_matched_tot.npassed}/{SHMS_aero_track_fired_tot.npassed} = {SHMS_aero_track_matched_tot.npassed} of {SHMS_aero_track_fired_tot.npassed} of good tracks. + +**************************** +* Calorimeter Efficiencies * +**************************** +Efficiencies for calorimeter is the fraction of times block was hit when track +with chisquared/dof < {pstat_cal_maxchisq:%5.1f} came within {pstat_cal_slop:%4.1f} cm of the center. +and scal_npe_sum > 3.0 (hardwired). (is this still true?) + +Events examined = strig = {shmscoin_event.npassed} +Tracks found = scleantrack = {pCleanTrack.npassed} +Tracks passing chisquared cut = {pstat_cal_numevents:%7d} (fix here) + +Block eff Hits +------------------------------------------------------------------------------------------------------- +;Needs to be written inline. + +************************** +* Hodoscope Efficiencies * +************************** +Efficiencies for hodoscopes is the fraction of times scin. was hit when track +with chisquared/dof < {pstat_maxchisq:%5.1f} came within {pstat_slop:%4.1f} cm of the center. + +Events examined = strig = {shmscoin_event.npassed} +Tracks found = scleantrack = {pCleanTrack.npassed} +Tracks passing chisquared cut = {pstat_numevents} (fix here) + +*HODO EFF* Need to checkout hodoeff module. +Scint Pos eff Neg eff OR eff AND eff Hits +----------------------------------------------------------------------------------------------------- +P1X1+ +P1X2+ +P1X3+ +P1X4+ +P1X5+ +P1X6+ +P1X7+ +P1X8+ +P1X9+ +P1X10+ +P1X11+ +P1X12+ +P1X13+ + +P1X1- +P1X2- +P1X3- +P1X4- +P1X5- +P1X6- +P1X7- +P1X8- +P1X9- +P1X10- +P1X11- +P1X12- +P1X13- + +P1Y1+ +P1Y2+ +P1Y3+ +P1Y4+ +P1Y5+ +P1Y6+ +P1Y7+ +P1Y8+ +P1Y9+ +P1Y10+ +P1Y11+ +P1Y12+ +P1Y13+ + +P1Y1- +P1Y2- +P1Y3- +P1Y4- +P1Y5- +P1Y6- +P1Y7- +P1Y8- +P1Y9- +P1Y10- +P1Y11- +P1Y12- +P1Y13- + +P2X1+ +P2X2+ +P2X3+ +P2X4+ +P2X5+ +P2X6+ +P2X7+ +P2X8+ +P2X9+ +P2X10+ +P2X11+ +P2X12+ +P2X13+ +P2X14+ + +P2X1- +P2X2- +P2X3- +P2X4- +P2X5- +P2X6- +P2X7- +P2X8- +P2X9- +P2X10- +P2X11- +P2X12- +P2X13- +P2X14- + +P2Y1+ +P2Y2+ +P2Y3+ +P2Y4+ +P2Y5+ +P2Y6+ +P2Y7+ +P2Y8+ +P2Y9+ +P2Y10+ +P2Y11+ +P2Y12+ +P2Y13+ +P2Y14+ +P2Y15+ +P2Y16+ +P2Y17+ +P2Y18+ +P2Y19+ +P2Y20+ +P2Y21+ + +P2Y1- +P2Y2- +P2Y3- +P2Y4- +P2Y5- +P2Y6- +P2Y7- +P2Y8- +P2Y9- +P2Y10- +P2Y11- +P2Y12- +P2Y13- +P2Y14- +P2Y15- +P2Y16- +P2Y17- +P2Y18- +P2Y19- +P2Y20- +P2Y21- + + +