diff --git a/DEF-files/HMS/PRODUCTION/EPICS/hepics_vars.def b/DEF-files/HMS/PRODUCTION/EPICS/hepics_vars.def index 4fd6b0b4c70446379fac95e06ad746c3bcf6f314..314810bc43f8faa6cc0bba3b1d465c5c2c19b77d 100644 --- a/DEF-files/HMS/PRODUCTION/EPICS/hepics_vars.def +++ b/DEF-files/HMS/PRODUCTION/EPICS/hepics_vars.def @@ -32,5 +32,4 @@ IPM3H07B.YRAW IPM3H07C.XRAW IPM3H07C.YRAW - -end epics \ No newline at end of file +end epics diff --git a/SCRIPTS/src/replay_hms.cxx b/SCRIPTS/src/replay_hms.cxx index 0814ed8e277f3b245c78f9d37715618d5e2e708c..db56e4652f7aad0b3e0a240859ea2f6fc0943fa6 100644 --- a/SCRIPTS/src/replay_hms.cxx +++ b/SCRIPTS/src/replay_hms.cxx @@ -25,6 +25,7 @@ using namespace std; #include "THcGlobals.h" #include "THcHallCSpectrometer.h" #include "THcHelicity.h" +#include "THcHelicityScaler.h" #include "THcHodoEff.h" #include "THcHodoscope.h" #include "THcParmList.h" @@ -190,6 +191,11 @@ int replay_hms( hscaler->SetUseFirstEvent(kTRUE); gHaEvtHandlers->Add(hscaler); + // helicity scaler + auto helscaler = new THcHelicityScaler("H", "Hall C helicity scalers"); + hscaler->SetROC(5); + gHaEvtHandlers->Add(helscaler); + // Add event handler for prestart event 125. THcConfigEvtHandler* hconfig = new THcConfigEvtHandler("hconfig", "Config Event type 125"); gHaEvtHandlers->Add(hconfig); diff --git a/SCRIPTS/src/replay_shms.cxx b/SCRIPTS/src/replay_shms.cxx index 285d4d045cf2b6a0182f2f91aef61fecf6547491..133e60cd7d599293bc7b8e8767aa4989483202de 100644 --- a/SCRIPTS/src/replay_shms.cxx +++ b/SCRIPTS/src/replay_shms.cxx @@ -25,6 +25,7 @@ using namespace std; #include "THcGlobals.h" #include "THcHallCSpectrometer.h" #include "THcHelicity.h" +#include "THcHelicityScaler.h" #include "THcHodoEff.h" #include "THcHodoscope.h" #include "THcParmList.h" @@ -197,6 +198,11 @@ int replay_shms( pscaler->SetUseFirstEvent(kTRUE); gHaEvtHandlers->Add(pscaler); + // helicity scaler + auto helscaler = new THcHelicityScaler("P", "Hall C helicity scalers"); + hscaler->SetROC(8); + gHaEvtHandlers->Add(helscaler); + // Add event handler for prestart event 125. THcConfigEvtHandler* pconfig = new THcConfigEvtHandler("pconfig", "Config Event type 125"); gHaEvtHandlers->Add(pconfig); diff --git a/TEMPLATES/HMS/PRODUCTION/hstackana_production.template b/TEMPLATES/HMS/PRODUCTION/hstackana_production.template index 34b02e99a34da829b2380d78fc70650e8e147a62..709ac837210f292ea5be9453f95a735b68740cab 100644 --- a/TEMPLATES/HMS/PRODUCTION/hstackana_production.template +++ b/TEMPLATES/HMS/PRODUCTION/hstackana_production.template @@ -11,34 +11,34 @@ Run Length : {H.1MHz.scalerTime:%.3f} sec * Beamline *********** With no cuts on BCM{gBCM_Current_threshold_index+1}. - -BCM1 Current: {H.BCM1.scalerCharge/H.1MHz.scalerTime:%.3f} uA -BCM2 Current: {H.BCM2.scalerCharge/H.1MHz.scalerTime:%.3f} uA -BCM4A Current: {H.BCM4A.scalerCharge/H.1MHz.scalerTime:%.3f} uA -BCM4B Current: {H.BCM4B.scalerCharge/H.1MHz.scalerTime:%.3f} uA -BCM4C Current: {H.BCM4C.scalerCharge/H.1MHz.scalerTime:%.3f} uA -Unser Current: {H.Unser.scalerCharge/H.1MHz.scalerTime:%.3f} uA + +BCM1 Current: {H.BCM1.scalerCharge/H.1MHz.scalerTime:%.3f} uA +BCM2 Current: {H.BCM2.scalerCharge/H.1MHz.scalerTime:%.3f} uA +BCM4A Current: {H.BCM4A.scalerCharge/H.1MHz.scalerTime:%.3f} uA +BCM4B Current: {H.BCM4B.scalerCharge/H.1MHz.scalerTime:%.3f} uA +BCM4C Current: {H.BCM4C.scalerCharge/H.1MHz.scalerTime:%.3f} uA +Unser Current: {H.Unser.scalerCharge/H.1MHz.scalerTime:%.3f} uA BCM1 Charge: {H.BCM1.scalerCharge:%.3f} uC -BCM2 Charge: {H.BCM2.scalerCharge:%.3f} uC -BCM4A Charge: {H.BCM4A.scalerCharge:%.3f} uC -BCM4B Charge: {H.BCM4B.scalerCharge:%.3f} uC -BCM4C Charge: {H.BCM4C.scalerCharge:%.3f} uC +BCM2 Charge: {H.BCM2.scalerCharge:%.3f} uC +BCM4A Charge: {H.BCM4A.scalerCharge:%.3f} uC +BCM4B Charge: {H.BCM4B.scalerCharge:%.3f} uC +BCM4C Charge: {H.BCM4C.scalerCharge:%.3f} uC Unser 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 Beam Cut Current: {H.BCM1.scalerChargeCut/H.1MHz.scalerTimeCut:%.3f} uA -BCM2 Beam Cut Current: {H.BCM2.scalerChargeCut/H.1MHz.scalerTimeCut:%.3f} uA -BCM4A Beam Cut Current: {H.BCM4A.scalerChargeCut/H.1MHz.scalerTimeCut:%.3f} uA -BCM4B Beam Cut Current: {H.BCM4B.scalerChargeCut/H.1MHz.scalerTimeCut:%.3f} uA -BCM4C Beam Cut Current: {H.BCM4C.scalerChargeCut/H.1MHz.scalerTimeCut:%.3f} uA -Unser Beam Cut Current: {H.Unser.scalerChargeCut/H.1MHz.scalerTimeCut:%.3f} uA +BCM1 Beam Cut Current: {H.BCM1.scalerChargeCut/H.1MHz.scalerTimeCut:%.3f} uA +BCM2 Beam Cut Current: {H.BCM2.scalerChargeCut/H.1MHz.scalerTimeCut:%.3f} uA +BCM4A Beam Cut Current: {H.BCM4A.scalerChargeCut/H.1MHz.scalerTimeCut:%.3f} uA +BCM4B Beam Cut Current: {H.BCM4B.scalerChargeCut/H.1MHz.scalerTimeCut:%.3f} uA +BCM4C Beam Cut Current: {H.BCM4C.scalerChargeCut/H.1MHz.scalerTimeCut:%.3f} uA +Unser Beam Cut Current: {H.Unser.scalerChargeCut/H.1MHz.scalerTimeCut:%.3f} uA BCM1 Beam Cut Charge: {H.BCM1.scalerChargeCut:%.3f} uC BCM2 Beam Cut Charge: {H.BCM2.scalerChargeCut:%.3f} uC -BCM4A Beam Cut Charge: {H.BCM4A.scalerChargeCut:%.3f} uC -BCM4B Beam Cut Charge: {H.BCM4B.scalerChargeCut:%.3f} uC -BCM4C Beam Cut Charge: {H.BCM4C.scalerChargeCut:%.3f} uC +BCM4A Beam Cut Charge: {H.BCM4A.scalerChargeCut:%.3f} uC +BCM4B Beam Cut Charge: {H.BCM4B.scalerChargeCut:%.3f} uC +BCM4C Beam Cut Charge: {H.BCM4C.scalerChargeCut:%.3f} uC Unser Beam Cut Charge: {H.Unser.scalerChargeCut:%.3f} uC ******************** @@ -134,8 +134,8 @@ HMS TRIG1 Computer Live Time : {(hms_trigs.npassed / (H.hTRIG1.scaler/ghconfig_t HMS TRIG2 Computer Live Time : {(hms_trigs.npassed / (H.hTRIG2.scaler/ghconfig_ti_ps_factors[1]))*100.0:%3.2f} % HMS TRIG3 Computer Live Time : {(hms_trigs.npassed / (H.hTRIG3.scaler/ghconfig_ti_ps_factors[2]))*100.0:%3.2f} % -HMS Computer Live Time : {(hcut_TRIG1.npassed / H.hTRIG1.scaler)*100.0:%3.4f} % -HMS Computer Dead Time : {100.0 - (hcut_TRIG1.npassed / H.hTRIG1.scaler)*100.0:%3.4f} % +HMS Computer Live Time : {(hcut_TRIG1.npassed / H.hTRIG1.scaler)*100.0:%3.4f} % +HMS Computer Dead Time : {100.0 - (hcut_TRIG1.npassed / H.hTRIG1.scaler)*100.0:%3.4f} % Pre-Scaled Ps1 HMS Computer Live Time : {(hcut_TRIG1.npassed / (H.hTRIG1.scaler/ghconfig_ti_ps_factors[0]))*100.0:%3.4f} % Pre-Scaled Ps1 HMS Computer Dead Time : {100.0 - (hcut_TRIG1.npassed / (H.hTRIG1.scaler/ghconfig_ti_ps_factors[0]))*100.0:%3.4f} % @@ -179,12 +179,12 @@ EL-CLEAN Pre-Trigger 50 ns Gate : {H.hTRIG3.scalerCut/H.1MHz.scalerTimeCut/1000 = Hodoscopes =:=:=:=:=:=:=: -H1X : {H.S1X.scalerCut} [ {(H.S1X.scalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] AND between + and - sides of H1X +H1X : {H.S1X.scalerCut} [ {(H.S1X.scalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] AND between + and - sides of H1X H1Y : {H.S1Y.scalerCut} [ {(H.S1Y.scalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] AND between + and - sides of H1Y H2X : {H.S2X.scalerCut} [ {(H.S2X.scalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] AND between + and - sides of H2X H2Y : {H.S2Y.scalerCut} [ {(H.S2Y.scalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] AND between + and - sides of H2Y -H1XH1Y : {H.S1XS1Y.scalerCut} [ {(H.S1XS1Y.scalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] AND between H1X and H1Y planes +H1XH1Y : {H.S1XS1Y.scalerCut} [ {(H.S1XS1Y.scalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] AND between H1X and H1Y planes H2XH2Y : {H.S2XS2Y.scalerCut} [ {(H.S2XS2Y.scalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] AND between H2X and H2Y planes =:=:=:=:=:=: @@ -205,10 +205,10 @@ DSUM : {H.DSUM.scalerCut} [ {(H.DSUM.scalerCut/H.1MHz.scalerTimeCut)/1000. **************** 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} +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} +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} @@ -225,19 +225,19 @@ hmsDC2v2Planes5 Counts: {hmsDC2_5hits_v2.npassed} eff : {hmsDC2_6hits_v2.np hmsDC2x2Planes5 Counts: {hmsDC2_5hits_x2.npassed} eff : {hmsDC2_6hits_x2.npassed/hmsDC2_5hits_x2.npassed} I'm pretty sure that these are the "raw" number of counts. "Raw" means one or more hits per dc plane. -hmsDC1_1hit_x1: {hmsDC1_1hit_x1.npassed} -hmsDC1_1hit_u1: {hmsDC1_1hit_u1.npassed} -hmsDC1_1hit_u2: {hmsDC1_1hit_u2.npassed} -hmsDC1_1hit_v1: {hmsDC1_1hit_v1.npassed} -hmsDC1_1hit_u2: {hmsDC1_1hit_u2.npassed} -hmsDC1_1hit_x2: {hmsDC1_1hit_x2.npassed} - -hmsDC2_1hit_x1: {hmsDC2_1hit_x1.npassed} -hmsDC2_1hit_u1: {hmsDC2_1hit_u1.npassed} -hmsDC2_1hit_u2: {hmsDC2_1hit_u2.npassed} -hmsDC2_1hit_v1: {hmsDC2_1hit_v1.npassed} -hmsDC2_1hit_u2: {hmsDC2_1hit_u2.npassed} -hmsDC2_1hit_x2: {hmsDC2_1hit_x2.npassed} +hmsDC1_1hit_x1: {hmsDC1_1hit_x1.npassed} +hmsDC1_1hit_u1: {hmsDC1_1hit_u1.npassed} +hmsDC1_1hit_u2: {hmsDC1_1hit_u2.npassed} +hmsDC1_1hit_v1: {hmsDC1_1hit_v1.npassed} +hmsDC1_1hit_u2: {hmsDC1_1hit_u2.npassed} +hmsDC1_1hit_x2: {hmsDC1_1hit_x2.npassed} + +hmsDC2_1hit_x1: {hmsDC2_1hit_x1.npassed} +hmsDC2_1hit_u1: {hmsDC2_1hit_u1.npassed} +hmsDC2_1hit_u2: {hmsDC2_1hit_u2.npassed} +hmsDC2_1hit_v1: {hmsDC2_1hit_v1.npassed} +hmsDC2_1hit_u2: {hmsDC2_1hit_u2.npassed} +hmsDC2_1hit_x2: {hmsDC2_1hit_x2.npassed} "Good" means one or two hits per dc plane. hcut_goodHDC1x1: {hcut_goodHDC1x1.npassed} eff : {hcut_goodHDC1x1.npassed/(hms_trigs.npassed+.0001):%5.3f} @@ -271,13 +271,13 @@ hcut_realhdc2u1: {hcut_realhdc2u1.npassed} hcut_realhdc2v1: {hcut_realhdc2v1.npassed} hcut_realhdc2v2: {hcut_realhdc2v2.npassed} hcut_realhdc2x2: {hcut_realhdc2x2.npassed} - + **HODOSCOPE** "Any" means one or more hits per scint plane. hcut_anys1x: {hcut_anys1x.npassed} eff: {hcut_anys1x.npassed/(hms_trigs.npassed+.0001):%5.3f} BAD = ?? hcut_anys1y: {hcut_anys1y.npassed} eff: {hcut_anys1y.npassed/(hms_trigs.npassed+.0001):%5.3f} hcut_anys2x: {hcut_anys2x.npassed} eff: {hcut_anys2x.npassed/(hms_trigs.npassed+.0001):%5.3f} -hcut_anys2y: {hcut_anys2y.npassed} eff: {hcut_anys2y.npassed/(hms_trigs.npassed+.0001):%5.3f} +hcut_anys2y: {hcut_anys2y.npassed} eff: {hcut_anys2y.npassed/(hms_trigs.npassed+.0001):%5.3f} "Good" means one or two hits per scint plane. hcut_goods1x: {hcut_goods1x.npassed} eff: {hcut_goods1x.npassed/(hms_trigs.npassed+.0001):%5.3f} BAD = ?? @@ -289,13 +289,13 @@ hcut_goods2: {hcut_goods2.npassed} eff: {hcut_goods2.npassed/(hms_trigs.np hcut_goods1s2: {hcut_goods1s2.npassed} eff: {hcut_goods1s2.npassed/(hms_trigs.npassed+.0001):%5.3f} hcut_FoundTrack: {hcut_FoundTrack.npassed} eff: {hcut_FoundTrack.npassed/(hms_trigs.npassed+.0001):%5.3f} BAD = ?? -hcut_Found1Track: {hcut_Found1Track.npassed} eff: {hcut_Found1Track.npassed/(hms_trigs.npassed+.0001):%5.3f} -hcut_Found2Track: {hcut_Found2Track.npassed} eff: {hcut_Found2Track.npassed/(hms_trigs.npassed+.0001):%5.3f} -hcut_Found3Track: {hcut_Found3Track.npassed} eff: {hcut_Found3Track.npassed/(hms_trigs.npassed+.0001):%5.3f} -hcut_Found4Track: {hcut_Found4Track.npassed} eff: {hcut_Found4Track.npassed/(hms_trigs.npassed+.0001):%5.3f} +hcut_Found1Track: {hcut_Found1Track.npassed} eff: {hcut_Found1Track.npassed/(hms_trigs.npassed+.0001):%5.3f} +hcut_Found2Track: {hcut_Found2Track.npassed} eff: {hcut_Found2Track.npassed/(hms_trigs.npassed+.0001):%5.3f} +hcut_Found3Track: {hcut_Found3Track.npassed} eff: {hcut_Found3Track.npassed/(hms_trigs.npassed+.0001):%5.3f} +hcut_Found4Track: {hcut_Found4Track.npassed} eff: {hcut_Found4Track.npassed/(hms_trigs.npassed+.0001):%5.3f} hcut_Clean1Track: {hcut_Clean1Track.npassed} eff: {hcut_Clean1Track.npassed/(hms_trigs.npassed+.0001):%5.3f} BAD = ?? -hcut_Clean2Track: {hcut_Clean2Track.npassed} eff: {hcut_Clean2Track.npassed/(hms_trigs.npassed+.0001):%5.3f} +hcut_Clean2Track: {hcut_Clean2Track.npassed} eff: {hcut_Clean2Track.npassed/(hms_trigs.npassed+.0001):%5.3f} hcut_Clean3Track: {hcut_Clean3Track.npassed} eff: {hcut_Clean3Track.npassed/(hms_trigs.npassed+.0001):%5.3f} hcut_Clean4Track: {hcut_Clean4Track.npassed} eff: {hcut_Clean4Track.npassed/(hms_trigs.npassed+.0001):%5.3f} hcut_CleanTrack: {hcut_CleanTrack.npassed} eff: {hcut_CleanTrack.npassed/(hms_trigs.npassed+.0001):%5.3f} @@ -372,7 +372,7 @@ hC Counts: {H.cal.stat_trksum3} eff : {H.cal.stat_hitsum3 / H.cal.stat_trks hD Counts: {H.cal.stat_trksum4} eff : {H.cal.stat_hitsum4 / H.cal.stat_trksum4} ************************** -* Hodoscope Efficiencies * +* Hodoscope Efficiencies * ************************** Efficiencies for hodoscopes is the fraction of times scin. was hit when track @@ -473,7 +473,7 @@ H1X7+: {H.hod.1x7.negScalerCut} [ {(H.hod.1x7.negScalerCut/H.1MHz.scalerTimeCut H1X8+: {H.hod.1x8.negScalerCut} [ {(H.hod.1x8.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] H1X9+: {H.hod.1x9.negScalerCut} [ {(H.hod.1x9.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] H1X10+: {H.hod.1x10.negScalerCut} [ {(H.hod.1x10.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] -H1X11+: {H.hod.1x11.negScalerCut} [ {(H.hod.1x11.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] +H1X11+: {H.hod.1x11.negScalerCut} [ {(H.hod.1x11.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] H1X12+: {H.hod.1x12.negScalerCut} [ {(H.hod.1x12.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] H1X13+: {H.hod.1x13.negScalerCut} [ {(H.hod.1x13.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] H1X14+: {H.hod.1x14.negScalerCut} [ {(H.hod.1x14.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] @@ -496,7 +496,7 @@ H1X13-: {H.hod.1x13.negScalerCut} [ {(H.hod.1x13.negScalerCut/H.1MHz.scalerTimeC H1X14-: {H.hod.1x14.negScalerCut} [ {(H.hod.1x14.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] H1X15-: {H.hod.1x15.negScalerCut} [ {(H.hod.1x15.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] H1X16-: {H.hod.1x16.negScalerCut} [ {(H.hod.1x16.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] - + H1Y1+: {H.hod.1y1.negScalerCut} [ {(H.hod.1y1.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] H1Y2+: {H.hod.1y2.negScalerCut} [ {(H.hod.1y2.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] H1Y3+: {H.hod.1y3.negScalerCut} [ {(H.hod.1y3.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] @@ -555,7 +555,7 @@ H2X16-: {H.hod.2x16.negScalerCut} [ {(H.hod.2x16.negScalerCut/H.1MHz.scalerTimeC H2Y1+: {H.hod.2y1.negScalerCut} [ {(H.hod.2y1.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] H2Y2+: {H.hod.2y2.negScalerCut} [ {(H.hod.2y2.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] -H2Y3+: {H.hod.2y3.negScalerCut} [ {(H.hod.2y3.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] +H2Y3+: {H.hod.2y3.negScalerCut} [ {(H.hod.2y3.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] H2Y4+: {H.hod.2y4.negScalerCut} [ {(H.hod.2y4.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] H2Y5+: {H.hod.2y5.negScalerCut} [ {(H.hod.2y5.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] H2Y6+: {H.hod.2y6.negScalerCut} [ {(H.hod.2y6.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] @@ -573,4 +573,15 @@ H2Y6-: {H.hod.2y6.negScalerCut} [ {(H.hod.2y6.negScalerCut/H.1MHz.scalerTimeCut H2Y7-: {H.hod.2y7.negScalerCut} [ {(H.hod.2y7.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] H2Y8-: {H.hod.2y8.negScalerCut} [ {(H.hod.2y8.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] H2Y9-: {H.hod.2y9.negScalerCut} [ {(H.hod.2y9.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] -H2Y10-: {H.hod.2y10.negScalerCut} [ {(H.hod.2y10.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] \ No newline at end of file +H2Y10-: {H.hod.2y10.negScalerCut} [ {(H.hod.2y10.negScalerCut/H.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] + +Scalers Gated Charge Charge Asymmetry (ppm) +BCM1: {gH_hscaler_charge[0]:%12.2f} {gH_hscaler_charge_asy[0]*1e6:%12.2f} +BCM2: {gH_hscaler_charge[1]:%12.2f} {gH_hscaler_charge_asy[1]*1e6:%12.2f} +BCM4A: {gH_hscaler_charge[3]:%12.2f} {gH_hscaler_charge_asy[3]*1e6:%12.2f} +BCM4B: {gH_hscaler_charge[4]:%12.2f} {gH_hscaler_charge_asy[4]*1e6:%12.2f} +BCM4C: {gH_hscaler_charge[5]:%12.2f} {gH_hscaler_charge_asy[5]*1e6:%12.2f} +Unser: {gH_hscaler_charge[2]:%12.2f} {gH_hscaler_charge_asy[2]*1e6:%12.2f} +Time(s): {gH_hscaler_time:%12.2f} {gH_hscaler_time_asy*1e6:%12.2f} +Gates: {(gH_hscaler_triggers_plus+gH_hscaler_triggers_minus):%12.2f} {gH_hscaler_trigger_asy*1e6:%12.2f} + diff --git a/TEMPLATES/HMS/SCALERS/hscalers.template b/TEMPLATES/HMS/SCALERS/hscalers.template index 58a121868a66a6ba626e076bd58d48d298d53b54..6b113481b26917aee5f37e5259e6b9133cd077bb 100644 --- a/TEMPLATES/HMS/SCALERS/hscalers.template +++ b/TEMPLATES/HMS/SCALERS/hscalers.template @@ -10,36 +10,36 @@ Run Length : {H.1MHz.scalerTime:%.3f} sec *********** * Beamline *********** - + With no cuts on BCM{gBCM_Current_threshold_index+1}. - -BCM1 Current: {H.BCM1.scalerCharge/H.1MHz.scalerTime:%.3f} uA -BCM2 Current: {H.BCM2.scalerCharge/H.1MHz.scalerTime:%.3f} uA -BCM4A Current: {H.BCM4A.scalerCharge/H.1MHz.scalerTime:%.3f} uA -BCM4B Current: {H.BCM4B.scalerCharge/H.1MHz.scalerTime:%.3f} uA -BCM4C Current: {H.BCM4C.scalerCharge/H.1MHz.scalerTime:%.3f} uA -Unser Current: {H.Unser.scalerCharge/H.1MHz.scalerTime:%.3f} uA + +BCM1 Current: {H.BCM1.scalerCharge/H.1MHz.scalerTime:%.3f} uA +BCM2 Current: {H.BCM2.scalerCharge/H.1MHz.scalerTime:%.3f} uA +BCM4A Current: {H.BCM4A.scalerCharge/H.1MHz.scalerTime:%.3f} uA +BCM4B Current: {H.BCM4B.scalerCharge/H.1MHz.scalerTime:%.3f} uA +BCM4C Current: {H.BCM4C.scalerCharge/H.1MHz.scalerTime:%.3f} uA +Unser Current: {H.Unser.scalerCharge/H.1MHz.scalerTime:%.3f} uA BCM1 Charge: {H.BCM1.scalerCharge:%.3f} uC -BCM2 Charge: {H.BCM2.scalerCharge:%.3f} uC -BCM4A Charge: {H.BCM4A.scalerCharge:%.3f} uC -BCM4B Charge: {H.BCM4B.scalerCharge:%.3f} uC -BCM4C Charge: {H.BCM4C.scalerCharge:%.3f} uC +BCM2 Charge: {H.BCM2.scalerCharge:%.3f} uC +BCM4A Charge: {H.BCM4A.scalerCharge:%.3f} uC +BCM4B Charge: {H.BCM4B.scalerCharge:%.3f} uC +BCM4C Charge: {H.BCM4C.scalerCharge:%.3f} uC Unser 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 Beam Cut Current: {H.BCM1.scalerCharge/H.1MHz.scalerTime:%.3f} uA -BCM2 Beam Cut Current: {H.BCM2.scalerCharge/H.1MHz.scalerTime:%.3f} uA -BCM4A Beam Cut Current: {H.BCM4A.scalerCharge/H.1MHz.scalerTime:%.3f} uA -BCM4B Beam Cut Current: {H.BCM4B.scalerCharge/H.1MHz.scalerTime:%.3f} uA -BCM4C Beam Cut Current: {H.BCM4C.scalerCharge/H.1MHz.scalerTime:%.3f} uA -Unser Beam Cut Current: {H.Unser.scalerCharge/H.1MHz.scalerTime:%.3f} uA +BCM1 Beam Cut Current: {H.BCM1.scalerCharge/H.1MHz.scalerTime:%.3f} uA +BCM2 Beam Cut Current: {H.BCM2.scalerCharge/H.1MHz.scalerTime:%.3f} uA +BCM4A Beam Cut Current: {H.BCM4A.scalerCharge/H.1MHz.scalerTime:%.3f} uA +BCM4B Beam Cut Current: {H.BCM4B.scalerCharge/H.1MHz.scalerTime:%.3f} uA +BCM4C Beam Cut Current: {H.BCM4C.scalerCharge/H.1MHz.scalerTime:%.3f} uA +Unser Beam Cut Current: {H.Unser.scalerCharge/H.1MHz.scalerTime:%.3f} uA BCM1 Beam Cut Charge: {H.BCM1.scalerChargeCut:%.3f} uC BCM2 Beam Cut Charge: {H.BCM2.scalerChargeCut:%.3f} uC -BCM4A Beam Cut Charge: {H.BCM4A.scalerChargeCut:%.3f} uC -BCM4B Beam Cut Charge: {H.BCM4B.scalerChargeCut:%.3f} uC -BCM4C Beam Cut Charge: {H.BCM4C.scalerChargeCut:%.3f} uC +BCM4A Beam Cut Charge: {H.BCM4A.scalerChargeCut:%.3f} uC +BCM4B Beam Cut Charge: {H.BCM4B.scalerChargeCut:%.3f} uC +BCM4C Beam Cut Charge: {H.BCM4C.scalerChargeCut:%.3f} uC Unser Beam Cut Charge: {H.Unser.scalerChargeCut:%.3f} uC @@ -58,7 +58,7 @@ Ps6_factor = {ghconfig_ti_ps_factors[5]} * Triggers *********** -=:=:=:=:=:=:=: +=:=:=:=:=:=:=: = 3/4 Trigger =:=:=:=:=:=:=: @@ -111,9 +111,9 @@ Estimated Physics 3/4 Triggers : {(H.hTRIG1.scalerRate - H.EDTM.scalerRate)*H.1M Physics 3/4 Trigger Rate : {(H.hTRIG1.scalerRate - H.EDTM.scalerRate)/1000.:%.3f} kHz Accepted Physics Triggers : {physics_accepted.npassed} -=:=:=:=:=:=:=:=: +=:=:=:=:=:=:=:=: = HMS Triggers -=:=:=:=:=:=:=:=: +=:=:=:=:=:=:=:=: hEL_LO_LO : {H.hEL_LO_LO.scaler} [ {(H.hEL_LO_LO.scaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] hEL_LO : {H.hEL_LO.scaler} [ {(H.hEL_LO.scaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] @@ -129,9 +129,9 @@ hTRIG4 : {H.hTRIG4.scaler} [ {(H.hTRIG4.scaler/H.1MHz.scalerTime)/1000.:%.3f} hTRIG5 : {H.hTRIG5.scaler} [ {(H.hTRIG5.scaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] hTRIG6 : {H.hTRIG6.scaler} [ {(H.hTRIG6.scaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] -=:=:=:=:=:=:=:=: +=:=:=:=:=:=:=:=: = HMS Triggers -=:=:=:=:=:=:=:=: +=:=:=:=:=:=:=:=: hEL_LO_LO : {H.hEL_LO_LO.scaler} [ {(H.hEL_LO_LO.scaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] hEL_LO : {H.hEL_LO.scaler} [ {(H.hEL_LO.scaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] @@ -158,8 +158,8 @@ hTRIG6_cut : {H.hTRIG6.scalerCut} [ {(H.hTRIG6.scaler/H.1MHz.scalerTime)/1000 = Live/Dead Time Calculations =:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=: -HMS Computer Live Time : {(TRIG1.npassed / H.hTRIG1.scaler)*100.0:%3.4f} % -HMS Computer Dead Time : {100.0 - (TRIG1.npassed / H.hTRIG1.scaler)*100.0:%3.4f} % +HMS Computer Live Time : {(TRIG1.npassed / H.hTRIG1.scaler)*100.0:%3.4f} % +HMS Computer Dead Time : {100.0 - (TRIG1.npassed / H.hTRIG1.scaler)*100.0:%3.4f} % Pre-Scaled Ps1 HMS Computer Live Time : {(TRIG1.npassed / (H.hTRIG1.scaler/ghconfig_ti_ps_factors[0]))*100.0:%3.4f} % Pre-Scaled Ps1 HMS Computer Dead Time : {100.0 - (TRIG1.npassed / (H.hTRIG1.scaler/ghconfig_ti_ps_factors[0]))*100.0:%3.4f} % @@ -204,12 +204,12 @@ EL-CLEAN Pre-Trigger 50 ns Gate : {H.hTRIG3.scalerRate/1000.:%.3f} kHz = Hodoscopes =:=:=:=:=:=:=: -H1X : {H.S1X.scaler} [ {(H.S1X.scaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] AND between + and - sides of H1X +H1X : {H.S1X.scaler} [ {(H.S1X.scaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] AND between + and - sides of H1X H1Y : {H.S1Y.scaler} [ {(H.S1Y.scaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] AND between + and - sides of H1Y H2X : {H.S2X.scaler} [ {(H.S2X.scaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] AND between + and - sides of H2X H2Y : {H.S2Y.scaler} [ {(H.S2Y.scaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] AND between + and - sides of H2Y -H1XH1Y : {H.S1XS1Y.scaler} [ {(H.S1XS1Y.scaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] AND between H1X and H1Y planes +H1XH1Y : {H.S1XS1Y.scaler} [ {(H.S1XS1Y.scaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] AND between H1X and H1Y planes H2XH2Y : {H.S2XS2Y.scaler} [ {(H.S2XS2Y.scaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] AND between H2X and H2Y planes =:=:=:=:=:=: @@ -244,7 +244,7 @@ H1X7+: {H.hod.1x7.posScaler} [ {(H.hod.1x7.posScaler/H.1MHz.scalerTime)/1000.:% H1X8+: {H.hod.1x8.posScaler} [ {(H.hod.1x8.posScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] H1X9+: {H.hod.1x9.posScaler} [ {(H.hod.1x9.posScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] H1X10+: {H.hod.1x10.posScaler} [ {(H.hod.1x10.posScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] -H1X11+: {H.hod.1x11.posScaler} [ {(H.hod.1x11.posScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] +H1X11+: {H.hod.1x11.posScaler} [ {(H.hod.1x11.posScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] H1X12+: {H.hod.1x12.posScaler} [ {(H.hod.1x12.posScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] H1X13+: {H.hod.1x13.posScaler} [ {(H.hod.1x13.posScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] H1X14+: {H.hod.1x14.posScaler} [ {(H.hod.1x14.posScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] @@ -267,7 +267,7 @@ H1X13-: {H.hod.1x13.negScaler} [ {(H.hod.1x13.negScaler/H.1MHz.scalerTime)/1000. H1X14-: {H.hod.1x14.negScaler} [ {(H.hod.1x14.negScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] H1X15-: {H.hod.1x15.negScaler} [ {(H.hod.1x15.negScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] H1X16-: {H.hod.1x16.negScaler} [ {(H.hod.1x16.negScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] - + H1Y1+: {H.hod.1y1.posScaler} [ {(H.hod.1y1.posScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] H1Y2+: {H.hod.1y2.posScaler} [ {(H.hod.1y2.posScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] H1Y3+: {H.hod.1y3.posScaler} [ {(H.hod.1y3.posScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] @@ -326,7 +326,7 @@ H2X16-: {H.hod.2x16.negScaler} [ {(H.hod.2x16.negScaler/H.1MHz.scalerTime)/1000. H2Y1+: {H.hod.2y1.posScaler} [ {(H.hod.2y1.posScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] H2Y2+: {H.hod.2y2.posScaler} [ {(H.hod.2y2.posScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] -H2Y3+: {H.hod.2y3.posScaler} [ {(H.hod.2y3.posScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] +H2Y3+: {H.hod.2y3.posScaler} [ {(H.hod.2y3.posScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] H2Y4+: {H.hod.2y4.posScaler} [ {(H.hod.2y4.posScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] H2Y5+: {H.hod.2y5.posScaler} [ {(H.hod.2y5.posScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] H2Y6+: {H.hod.2y6.posScaler} [ {(H.hod.2y6.posScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] @@ -344,4 +344,5 @@ H2Y6-: {H.hod.2y6.negScaler} [ {(H.hod.2y6.negScaler/H.1MHz.scalerTime)/1000.:% H2Y7-: {H.hod.2y7.negScaler} [ {(H.hod.2y7.negScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] H2Y8-: {H.hod.2y8.negScaler} [ {(H.hod.2y8.negScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] H2Y9-: {H.hod.2y9.negScaler} [ {(H.hod.2y9.negScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] -H2Y10-: {H.hod.2y10.negScaler} [ {(H.hod.2y10.negScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] \ No newline at end of file +H2Y10-: {H.hod.2y10.negScaler} [ {(H.hod.2y10.negScaler/H.1MHz.scalerTime)/1000.:%.3f} kHz ] + diff --git a/TEMPLATES/SHMS/PRODUCTION/pstackana_production.template b/TEMPLATES/SHMS/PRODUCTION/pstackana_production.template index 8c0b23a1195e4761de98fba6601dbb3b79fa8481..5d15b76c728ea34cf24059d15f703521f03e5e3b 100644 --- a/TEMPLATES/SHMS/PRODUCTION/pstackana_production.template +++ b/TEMPLATES/SHMS/PRODUCTION/pstackana_production.template @@ -11,34 +11,34 @@ Run Length : {P.1MHz.scalerTime:%.3f} sec * Beamline *********** With no cuts on BCM{gBCM_Current_threshold_index+1}. - -BCM1 Current: {P.BCM1.scalerCharge/P.1MHz.scalerTime:%.3f} uA -BCM2 Current: {P.BCM2.scalerCharge/P.1MHz.scalerTime:%.3f} uA + +BCM1 Current: {P.BCM1.scalerCharge/P.1MHz.scalerTime:%.3f} uA +BCM2 Current: {P.BCM2.scalerCharge/P.1MHz.scalerTime:%.3f} uA BCM4A Current: {P.BCM4A.scalerCharge/P.1MHz.scalerTime:%.3f} uA -BCM4B Current: {P.BCM4B.scalerCharge/P.1MHz.scalerTime:%.3f} uA -BCM4C Current: {P.BCM4C.scalerCharge/P.1MHz.scalerTime:%.3f} uA -Unser Current: {P.Unser.scalerCharge/P.1MHz.scalerTime:%.3f} uA +BCM4B Current: {P.BCM4B.scalerCharge/P.1MHz.scalerTime:%.3f} uA +BCM4C Current: {P.BCM4C.scalerCharge/P.1MHz.scalerTime:%.3f} uA +Unser Current: {P.Unser.scalerCharge/P.1MHz.scalerTime:%.3f} uA BCM1 Charge: {P.BCM1.scalerCharge:%.3f} uC -BCM2 Charge: {P.BCM2.scalerCharge:%.3f} uC -BCM4A Charge: {P.BCM4A.scalerCharge:%.3f} uC -BCM4B Charge: {P.BCM4B.scalerCharge:%.3f} uC -BCM4C Charge: {P.BCM4C.scalerCharge:%.3f} uC +BCM2 Charge: {P.BCM2.scalerCharge:%.3f} uC +BCM4A Charge: {P.BCM4A.scalerCharge:%.3f} uC +BCM4B Charge: {P.BCM4B.scalerCharge:%.3f} uC +BCM4C Charge: {P.BCM4C.scalerCharge:%.3f} uC Unser Charge: {P.Unser.scalerCharge:%.3f} uC Cut on BCM{gBCM_Current_threshold_index+1} current of {gBCM_Current_threshold} uA. Beam over threshold for {P.1MHz.scalerTimeCut:%.3f}s, or {((P.1MHz.scalerTimeCut/P.1MHz.scalerTime)*100.):%.3f}% of total run time. -BCM1 Beam Cut Current: {P.BCM1.scalerChargeCut/P.1MHz.scalerTimeCut:%.3f} uA -BCM2 Beam Cut Current: {P.BCM2.scalerChargeCut/P.1MHz.scalerTimeCut:%.3f} uA -BCM4A Beam Cut Current: {P.BCM4A.scalerChargeCut/P.1MHz.scalerTimeCut:%.3f} uA -BCM4B Beam Cut Current: {P.BCM4B.scalerChargeCut/P.1MHz.scalerTimeCut:%.3f} uA -BCM4C Beam Cut Current: {P.BCM4C.scalerChargeCut/P.1MHz.scalerTimeCut:%.3f} uA -Unser Beam Cut Current: {P.Unser.scalerChargeCut/P.1MHz.scalerTimeCut:%.3f} uA +BCM1 Beam Cut Current: {P.BCM1.scalerChargeCut/P.1MHz.scalerTimeCut:%.3f} uA +BCM2 Beam Cut Current: {P.BCM2.scalerChargeCut/P.1MHz.scalerTimeCut:%.3f} uA +BCM4A Beam Cut Current: {P.BCM4A.scalerChargeCut/P.1MHz.scalerTimeCut:%.3f} uA +BCM4B Beam Cut Current: {P.BCM4B.scalerChargeCut/P.1MHz.scalerTimeCut:%.3f} uA +BCM4C Beam Cut Current: {P.BCM4C.scalerChargeCut/P.1MHz.scalerTimeCut:%.3f} uA +Unser Beam Cut Current: {P.Unser.scalerChargeCut/P.1MHz.scalerTimeCut:%.3f} uA BCM1 Beam Cut Charge: {P.BCM1.scalerChargeCut:%.3f} uC BCM2 Beam Cut Charge: {P.BCM2.scalerChargeCut:%.3f} uC -BCM4A Beam Cut Charge: {P.BCM4A.scalerChargeCut:%.3f} uC -BCM4B Beam Cut Charge: {P.BCM4B.scalerChargeCut:%.3f} uC -BCM4C Beam Cut Charge: {P.BCM4C.scalerChargeCut:%.3f} uC +BCM4A Beam Cut Charge: {P.BCM4A.scalerChargeCut:%.3f} uC +BCM4B Beam Cut Charge: {P.BCM4B.scalerChargeCut:%.3f} uC +BCM4C Beam Cut Charge: {P.BCM4C.scalerChargeCut:%.3f} uC Unser Beam Cut Charge: {P.Unser.scalerChargeCut:%.3f} uC ******************** @@ -52,11 +52,11 @@ Ps4_factor = {gpconfig_ti_ps_factors[3]} Ps5_factor = {gpconfig_ti_ps_factors[4]} Ps6_factor = {gpconfig_ti_ps_factors[5]} -*********** -* Triggers +*********** +* Triggers *********** -=:=:=:=:=:=:=: +=:=:=:=:=:=:=: = 3/4 Trigger =:=:=:=:=:=:=: @@ -75,9 +75,9 @@ Physics 3/4 Triggers (current cut): {(P.pTRIG1.scalerCut - P.EDTM.scalerCut)} Physics 3/4 Trigger Rate : {(P.pTRIG1.scalerCut- P.EDTM.scalerCut)/P.1MHz.scalerTimeCut/1000.:%.3f} kHz Accepted Physics Triggers : {pcut_physics_accepted.npassed} -=:=:=:=:=:=:=:=: +=:=:=:=:=:=:=:=: = HMS Triggers -=:=:=:=:=:=:=:=: +=:=:=:=:=:=:=:=: hEL_LO_LO : {P.hEL_LO_LO.scalerCut} [ {(P.hEL_LO_LO.scalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] hEL_LO : {P.hEL_LO.scalerCut} [ {(P.hEL_LO.scalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] @@ -93,9 +93,9 @@ hTRIG4 : {P.hTRIG4.scalerCut} [ {(P.hTRIG4.scalerCut/P.1MHz.scalerTimeCut)/100 hTRIG5 : {P.hTRIG5.scalerCut} [ {(P.hTRIG5.scalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] hTRIG6 : {P.hTRIG6.scalerCut} [ {(P.hTRIG6.scalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] -=:=:=:=:=:=:=:=: +=:=:=:=:=:=:=:=: = SHMS Triggers -=:=:=:=:=:=:=:=: +=:=:=:=:=:=:=:=: pEL_LO_LO : {P.pEL_LO_LO.scalerCut} [ {(P.pEL_LO_LO.scalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] pEL_LO : {P.pEL_LO.scalerCut} [ {(P.pEL_LO.scalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] @@ -131,8 +131,8 @@ SHMS TRIG1 Computer Live Time : {(shms_trigs.npassed / (P.pTRIG1.scaler/gpconfig SHMS TRIG2 Computer Live Time : {(shms_trigs.npassed / (P.pTRIG2.scaler/gpconfig_ti_ps_factors[1]))*100.0:%3.2f} % SHMS TRIG3 Computer Live Time : {(shms_trigs.npassed / (P.pTRIG3.scaler/gpconfig_ti_ps_factors[2]))*100.0:%3.2f} % -SHMS Computer Live Time : {(pcut_TRIG1.npassed / P.pTRIG1.scaler)*100.0:%3.4f} % -SHMS Computer Dead Time : {100.0 - (pcut_TRIG1.npassed / P.pTRIG1.scaler)*100.0:%3.4f} % +SHMS Computer Live Time : {(pcut_TRIG1.npassed / P.pTRIG1.scaler)*100.0:%3.4f} % +SHMS Computer Dead Time : {100.0 - (pcut_TRIG1.npassed / P.pTRIG1.scaler)*100.0:%3.4f} % Pre-Scaled Ps1 SHMS Computer Live Time : {((pcut_TRIG1.npassed-pcut_TRIG5.npassed) / (P.pTRIG1.scaler/gpconfig_ti_ps_factors[0]))*100.0:%3.4f} % Pre-Scaled Ps1 SHMS Computer Dead Time : {100.0 - ( (pcut_TRIG1.npassed-pcut_TRIG5.npassed) / (P.pTRIG1.scaler/gpconfig_ti_ps_factors[0]))*100.0:%3.4f} % @@ -176,13 +176,13 @@ EL-CLEAN Pre-Trigger 50 ns Gate : {P.pTRIG3.scalerCut/P.1MHz.scalerTimeCut/1000 = Hodoscopes =:=:=:=:=:=:=: -P1X : {P.S1X.scalerCut} [ {(P.S1X.scalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] AND between + and - sides of P1X +P1X : {P.S1X.scalerCut} [ {(P.S1X.scalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] AND between + and - sides of P1X P1Y : {P.S1Y.scalerCut} [ {(P.S1Y.scalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] AND between + and - sides of P1Y P2X : {P.S2X.scalerCut} [ {(P.S2X.scalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] AND between + and - sides of P2X P2Y : {P.S2Y.scalerCut} [ {(P.S2Y.scalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] AND between + and - sides of P2Y -P1XP1Y : {P.S1XS1Y.scalerCut} [ {(P.S1XS1Y.scalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] AND between P1X and P1Y planes -P2XP2Y : {P.S2XS2Y.scalerCut} [ {(P.S2XS2Y.scalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] AND between P2X and P2Y planes +P1XP1Y : {P.S1XS1Y.scalerCut} [ {(P.S1XS1Y.scalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] AND between P1X and P1Y planes +P2XP2Y : {P.S2XS2Y.scalerCut} [ {(P.S2XS2Y.scalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] AND between P2X and P2Y planes =:=:=:=:=:=:=:=:=:=:=:=:= = Aerogel, HGC, NGC, CAL =:=:=:=:=:=:=:=:=:=:=:=:= @@ -194,40 +194,40 @@ PRLO : {P.PRLO.scalerCut} [ {(P.PRLO.scalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} PRHI : {P.PRHI.scalerCut} [ {(P.PRHI.scalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] *********** -* Chambers +* Chambers *********** -pcut_good_S1_time Counts: {pcut_good_S1_time.npassed} / shms_trigs.scaler : {pcut_good_S1_time.npassed / shms_trigs.npassed} -pcut_good_S2X_time Counts: {pcut_good_S2X_time.npassed} / shms_trigs.scaler : {pcut_good_S2X_time.npassed / shms_trigs.npassed} +pcut_good_S1_time Counts: {pcut_good_S1_time.npassed} / shms_trigs.scaler : {pcut_good_S1_time.npassed / shms_trigs.npassed} +pcut_good_S2X_time Counts: {pcut_good_S2X_time.npassed} / shms_trigs.scaler : {pcut_good_S2X_time.npassed / shms_trigs.npassed} pcut_good_S1_S2X_time Counts: {pcut_good_S1_S2X_time.npassed} / shms_trigs.scaler : {pcut_good_S1_S2X_time.npassed / shms_trigs.npassed} -Chamber 1 hits > 0 Counts: {shms_ch1_gt0.npassed} / shms_trigs : {shms_ch1_gt0.npassed / shms_trigs.npassed} -Chamber 2 hits > 0 Counts: {shms_ch2_gt0.npassed} / shms_trigs : { shms_ch2_gt0.npassed / shms_trigs.npassed} -Chamber 2 hits > 0 & Ch 1 hits = 0 Counts: {shms_ch2_gt0_noch1.npassed} / shms_trigs : { shms_ch2_gt0_noch1.npassed / shms_trigs.npassed} -Chamber 1 hits > 0 & Ch 2 hits = 0 Counts: {shms_ch1_gt0_noch2.npassed} / shms_trigs : {shms_ch1_gt0_noch2.npassed / shms_trigs.npassed} -Chamber 1 hits = 0 & Ch 2 hits = 0 Counts: {shms_noch1_noch2.npassed} / shms_trigs : {shms_noch1_noch2.npassed / shms_trigs.npassed} -Chamber 1 > 0 & Ch 2 hits > 0 Counts: {shms_ch_gt0.npassed} / shms_trigs : { shms_ch_gt0.npassed / shms_trigs.npassed} +Chamber 1 hits > 0 Counts: {shms_ch1_gt0.npassed} / shms_trigs : {shms_ch1_gt0.npassed / shms_trigs.npassed} +Chamber 2 hits > 0 Counts: {shms_ch2_gt0.npassed} / shms_trigs : { shms_ch2_gt0.npassed / shms_trigs.npassed} +Chamber 2 hits > 0 & Ch 1 hits = 0 Counts: {shms_ch2_gt0_noch1.npassed} / shms_trigs : { shms_ch2_gt0_noch1.npassed / shms_trigs.npassed} +Chamber 1 hits > 0 & Ch 2 hits = 0 Counts: {shms_ch1_gt0_noch2.npassed} / shms_trigs : {shms_ch1_gt0_noch2.npassed / shms_trigs.npassed} +Chamber 1 hits = 0 & Ch 2 hits = 0 Counts: {shms_noch1_noch2.npassed} / shms_trigs : {shms_noch1_noch2.npassed / shms_trigs.npassed} +Chamber 1 > 0 & Ch 2 hits > 0 Counts: {shms_ch_gt0.npassed} / shms_trigs : { shms_ch_gt0.npassed / shms_trigs.npassed} Ch 1 hits > 0 & Ch 2 hits > 0 & track Counts: {shms_ch_gt0_track.npassed} / shms_trigs : { shms_ch_gt0_track.npassed / shms_trigs.npassed} -Chamber 1 > 3 & Ch 2 hits > 3 Counts: {shms_ch_gt4.npassed} / shms_trigs : { shms_ch_gt4.npassed / shms_trigs.npassed} +Chamber 1 > 3 & Ch 2 hits > 3 Counts: {shms_ch_gt4.npassed} / shms_trigs : { shms_ch_gt4.npassed / shms_trigs.npassed} Ch 1 hits > 3 & Ch 2 hits > 3 & track Counts: {shms_ch_gt4_track.npassed} / shms_trigs : { shms_ch_gt4_track.npassed / shms_trigs.npassed} -Add cut on good_S1_S2X_time +Add cut on good_S1_S2X_time -Chamber 1 hits > 0 Counts: {shms_ch1_gt0_gtime.npassed} / shms_trigs.scaler : {shms_ch1_gt0_gtime.npassed / shms_trigs.npassed} -Chamber 2 hits > 0 Counts: {shms_ch2_gt0_gtime.npassed} / shms_trigs.scaler : { shms_ch2_gt0_gtime.npassed / shms_trigs.npassed} -Chamber 2 hits > 0 & Ch 1 hits = 0 Counts: {shms_ch2_gt0_noch1_gtime.npassed} / shms_trigs.scaler : { shms_ch2_gt0_noch1_gtime.npassed / shms_trigs.npassed} -Chamber 1 hits > 0 & Ch 2 hits = 0 Counts: {shms_ch1_gt0_noch2_gtime.npassed} / shms_trigs.scaler : {shms_ch1_gt0_noch2_gtime.npassed / shms_trigs.npassed} -Chamber 1 hits = 0 & Ch 2 hits = 0 Counts: {shms_noch1_noch2_gtime.npassed} / shms_trigs.scaler : {shms_noch1_noch2_gtime.npassed / shms_trigs.npassed} -Chamber 1 > 0 & Ch 2 hits > 0 Counts: {shms_ch_gt0_gtime.npassed} / shms_trigs.scaler : { shms_ch_gt0_gtime.npassed / shms_trigs.npassed} +Chamber 1 hits > 0 Counts: {shms_ch1_gt0_gtime.npassed} / shms_trigs.scaler : {shms_ch1_gt0_gtime.npassed / shms_trigs.npassed} +Chamber 2 hits > 0 Counts: {shms_ch2_gt0_gtime.npassed} / shms_trigs.scaler : { shms_ch2_gt0_gtime.npassed / shms_trigs.npassed} +Chamber 2 hits > 0 & Ch 1 hits = 0 Counts: {shms_ch2_gt0_noch1_gtime.npassed} / shms_trigs.scaler : { shms_ch2_gt0_noch1_gtime.npassed / shms_trigs.npassed} +Chamber 1 hits > 0 & Ch 2 hits = 0 Counts: {shms_ch1_gt0_noch2_gtime.npassed} / shms_trigs.scaler : {shms_ch1_gt0_noch2_gtime.npassed / shms_trigs.npassed} +Chamber 1 hits = 0 & Ch 2 hits = 0 Counts: {shms_noch1_noch2_gtime.npassed} / shms_trigs.scaler : {shms_noch1_noch2_gtime.npassed / shms_trigs.npassed} +Chamber 1 > 0 & Ch 2 hits > 0 Counts: {shms_ch_gt0_gtime.npassed} / shms_trigs.scaler : { shms_ch_gt0_gtime.npassed / shms_trigs.npassed} Ch 1 hits > 0 & Ch 2 hits > 0 & track Counts: {shms_ch_gt0_track_gtime.npassed} / shms_trigs.scaler : { shms_ch_gt0_track_gtime.npassed / shms_trigs.npassed} -Chamber 1 > 3 & Ch 2 hits > 3 Counts: {shms_ch_gt4_gtime.npassed} / shms_trigs.scaler : { shms_ch_gt4_gtime.npassed / shms_trigs.npassed} +Chamber 1 > 3 & Ch 2 hits > 3 Counts: {shms_ch_gt4_gtime.npassed} / shms_trigs.scaler : { shms_ch_gt4_gtime.npassed / shms_trigs.npassed} Ch 1 hits > 3 & Ch 2 hits > 3 & track Counts: {shms_ch_gt4_track_gtime.npassed} / shms_trigs.scaler : { shms_ch_gt4_track_gtime.npassed / shms_trigs.npassed} shmsDC1Planes_large Counts: {shmsDC1Planes_large.npassed} / shms_trigs.scaler : {shmsDC1Planes_large.npassed / shms_trigs.npassed} -shmsDC2Planes_large Counts: {shmsDC2Planes_large.npassed} / shms_trigs.scaler : {shmsDC2Planes_large.npassed / shms_trigs.npassed} +shmsDC2Planes_large Counts: {shmsDC2Planes_large.npassed} / shms_trigs.scaler : {shmsDC2Planes_large.npassed / shms_trigs.npassed} shmsDC1Planes6 Counts: {shmsDC1Planes6hits.npassed} / shms_trigs.scaler : {shmsDC1Planes6hits.npassed / shms_trigs.npassed} -shmsDC2Planes6 Counts: {shmsDC2Planes6hits.npassed} / shms_trigs.scaler : {shmsDC2Planes6hits.npassed / shms_trigs.npassed} +shmsDC2Planes6 Counts: {shmsDC2Planes6hits.npassed} / shms_trigs.scaler : {shmsDC2Planes6hits.npassed / shms_trigs.npassed} shmsDC1x1Planes5 Counts: {shmsDC1_5hits_x1.npassed} eff : {shmsDC1_6hits_x1.npassed / shmsDC1_5hits_x1.npassed} shmsDC1u1Planes5 Counts: {shmsDC1_5hits_u1.npassed} eff : {shmsDC1_6hits_u1.npassed / shmsDC1_5hits_u1.npassed} @@ -244,19 +244,19 @@ shmsDC2v2Planes5 Counts: {shmsDC2_5hits_v2.npassed} eff : {shmsDC2_6hits_v2. shmsDC2x2Planes5 Counts: {shmsDC2_5hits_x2.npassed} eff : {shmsDC2_6hits_x2.npassed / shmsDC2_5hits_x2.npassed} I'm pretty sure that these are the "raw" number of counts. "Raw" means one or more hits per dc plane. -shmsDC1_1hit_x1: {shmsDC1_1hit_x1.npassed} -shmsDC1_1hit_u1: {shmsDC1_1hit_u1.npassed} -shmsDC1_1hit_u2: {shmsDC1_1hit_u2.npassed} -shmsDC1_1hit_v1: {shmsDC1_1hit_v1.npassed} -shmsDC1_1hit_v2: {shmsDC1_1hit_v2.npassed} -shmsDC1_1hit_x2: {shmsDC1_1hit_x2.npassed} - -shmsDC2_1hit_x1: {shmsDC2_1hit_x1.npassed} -shmsDC2_1hit_u1: {shmsDC2_1hit_u1.npassed} -shmsDC2_1hit_u2: {shmsDC2_1hit_u2.npassed} -shmsDC2_1hit_v1: {shmsDC2_1hit_v1.npassed} -shmsDC2_1hit_v2: {shmsDC2_1hit_v2.npassed} -shmsDC2_1hit_x2: {shmsDC2_1hit_x2.npassed} +shmsDC1_1hit_x1: {shmsDC1_1hit_x1.npassed} +shmsDC1_1hit_u1: {shmsDC1_1hit_u1.npassed} +shmsDC1_1hit_u2: {shmsDC1_1hit_u2.npassed} +shmsDC1_1hit_v1: {shmsDC1_1hit_v1.npassed} +shmsDC1_1hit_v2: {shmsDC1_1hit_v2.npassed} +shmsDC1_1hit_x2: {shmsDC1_1hit_x2.npassed} + +shmsDC2_1hit_x1: {shmsDC2_1hit_x1.npassed} +shmsDC2_1hit_u1: {shmsDC2_1hit_u1.npassed} +shmsDC2_1hit_u2: {shmsDC2_1hit_u2.npassed} +shmsDC2_1hit_v1: {shmsDC2_1hit_v1.npassed} +shmsDC2_1hit_v2: {shmsDC2_1hit_v2.npassed} +shmsDC2_1hit_x2: {shmsDC2_1hit_x2.npassed} "Good" means one or two hits per dc plane. pcut_goodHDC1x1: {pcut_goodHDC1x1.npassed} eff : {pcut_goodHDC1x1.npassed/(shms_trigs.npassed+.0001):%5.3f} @@ -290,13 +290,13 @@ pcut_realhdc2u1: {pcut_realhdc2u1.npassed} pcut_realhdc2v1: {pcut_realhdc2v1.npassed} pcut_realhdc2v2: {pcut_realhdc2v2.npassed} pcut_realhdc2x2: {pcut_realhdc2x2.npassed} - + **HODOSCOPE** "Any" means one or more hits per scint plane. pcut_anys1x : {pcut_anys1x.npassed} eff: {pcut_anys1x.npassed/(shms_trigs.npassed+.0001):%5.3f} BAD = ?? pcut_anys1y : {pcut_anys1y.npassed} eff: {pcut_anys1y.npassed/(shms_trigs.npassed+.0001):%5.3f} pcut_anys2x : {pcut_anys2x.npassed} eff: {pcut_anys2x.npassed/(shms_trigs.npassed+.0001):%5.3f} -pcut_anys2y : {pcut_anys2y.npassed} eff: {pcut_anys2y.npassed/(shms_trigs.npassed+.0001):%5.3f} +pcut_anys2y : {pcut_anys2y.npassed} eff: {pcut_anys2y.npassed/(shms_trigs.npassed+.0001):%5.3f} "Good" means one or two hits per scint plane. pcut_goods1x : {pcut_goods1x.npassed} eff: {pcut_goods1x.npassed/(shms_trigs.npassed+.0001):%5.3f} BAD = ?? @@ -309,13 +309,13 @@ pcut_goods1s2: {pcut_goods1s2.npassed} eff: {pcut_goods1s2.npassed/(shms_trigs **TRACKING** pcut_FoundTrack :{pcut_FoundTrack.npassed} eff: {pcut_FoundTrack.npassed/(shms_trigs.npassed+.0001):%5.3f} BAD = ?? -pcut_Found1Track :{pcut_Found1Track.npassed} eff: {pcut_Found1Track.npassed/(shms_trigs.npassed+.0001):%5.3f} -pcut_Found2Track :{pcut_Found2Track.npassed} eff: {pcut_Found2Track.npassed/(shms_trigs.npassed+.0001):%5.3f} -pcut_Found3Track :{pcut_Found3Track.npassed} eff: {pcut_Found3Track.npassed/(shms_trigs.npassed+.0001):%5.3f} -pcut_Found4Track :{pcut_Found4Track.npassed} eff: {pcut_Found4Track.npassed/(shms_trigs.npassed+.0001):%5.3f} +pcut_Found1Track :{pcut_Found1Track.npassed} eff: {pcut_Found1Track.npassed/(shms_trigs.npassed+.0001):%5.3f} +pcut_Found2Track :{pcut_Found2Track.npassed} eff: {pcut_Found2Track.npassed/(shms_trigs.npassed+.0001):%5.3f} +pcut_Found3Track :{pcut_Found3Track.npassed} eff: {pcut_Found3Track.npassed/(shms_trigs.npassed+.0001):%5.3f} +pcut_Found4Track :{pcut_Found4Track.npassed} eff: {pcut_Found4Track.npassed/(shms_trigs.npassed+.0001):%5.3f} pcut_CleanTrack :{pcut_CleanTrack.npassed} eff: {pcut_CleanTrack.npassed/(shms_trigs.npassed+.0001):%5.3f} BAD = ?? -pcut_Clean1Track:{pcut_Clean1Track.npassed} eff: {pcut_Clean1Track.npassed/(shms_trigs.npassed+.0001):%5.3f} +pcut_Clean1Track:{pcut_Clean1Track.npassed} eff: {pcut_Clean1Track.npassed/(shms_trigs.npassed+.0001):%5.3f} pcut_Clean2Track:{pcut_Clean2Track.npassed} eff: {pcut_Clean2Track.npassed/(shms_trigs.npassed+.0001):%5.3f} pcut_Clean3Track:{pcut_Clean3Track.npassed} eff: {pcut_Clean3Track.npassed/(shms_trigs.npassed+.0001):%5.3f} pcut_Clean4Track:{pcut_Clean4Track.npassed} eff: {pcut_Clean4Track.npassed/(shms_trigs.npassed+.0001):%5.3f} @@ -330,11 +330,11 @@ pcut_cer_elec_both : {pcut_cer_elec_both.npassed} pcut_cal_elec : {pcut_cal_elec.npassed} pcut_cal_pi : {pcut_cal_pi.npassed} pcut_elec_all : {pcut_elec_all.npassed} -pcut_pi_all : {pcut_pi_all.npassed} +pcut_pi_all : {pcut_pi_all.npassed} -pcut_CleanTrack_cer_elec : {pcut_CleanTrack_cer_elec.npassed} +pcut_CleanTrack_cer_elec : {pcut_CleanTrack_cer_elec.npassed} pcut_p1hit1_cer_elec : {pcut_p1hit1_cer_elec.npassed} -pcut_CleanTrack_cal_elec : {pcut_CleanTrack_cal_elec.npassed} +pcut_CleanTrack_cal_elec : {pcut_CleanTrack_cal_elec.npassed} pcut_p1hit1_cal_elec : {pcut_p1hit1_cal_elec.npassed} ****************************** @@ -369,7 +369,7 @@ E SING FID TRACK EFFIC : {shmsScinDide.npassed / (shmsScinShoulde.npasse HADRON SING FID TRACK EFFIC : {shmsScinDidh.npassed / (shmsScinShouldh.npassed+0.0001):%8.4f} +- {(sqrt(shmsScinShouldh.npassed-shmsScinDidh.npassed) / (shmsScinShouldh.npassed+.0001)):%8.4f} *************** -* HGC Cerenkov +* HGC Cerenkov *************** Good Track Requirements: @@ -386,7 +386,7 @@ SHMS HGC Region 4 efficiency: {SHMS_hgcer_track_fired_region_4.npassed/SHMS_hgce Overall HGC Efficiency: {SHMS_hgcer_track_fired_tot.npassed/SHMS_hgcer_track_matched_tot.npassed} = {SHMS_hgcer_track_fired_tot.npassed} of {SHMS_hgcer_track_matched_tot.npassed} good tracks. *************** -* NGC Cerenkov +* NGC Cerenkov *************** Good Track Requirements: @@ -403,15 +403,15 @@ SHMS NGC Region 4 efficiency: {SHMS_ngcer_track_fired_region_4.npassed/SHMS_ngce Overall NGC Efficiency: {SHMS_ngcer_track_fired_tot.npassed/SHMS_ngcer_track_matched_tot.npassed} = {SHMS_ngcer_track_fired_tot.npassed} of {SHMS_ngcer_track_matched_tot.npassed} good tracks. ********** -* Aerogel +* Aerogel ********** Good Track Requirements: - 1. Only one track found in the focal plane + 1. Only one track found in the focal plane 2. chisq/dof < {paero_red_chi2_max:%5.1f} 3. {paero_beta_min:%5.3f} < beta < {paero_beta_max:%5.3f} 4. {paero_enorm_min:%5.3f} < calorimeter energy < {paero_enorm_max:%5.3f} - 5. {paero_dp_min:%5.3f} < delta p (dp) < {paero_dp_max:%5.3f} //added because paero_cuts.param has this as a cut + 5. {paero_dp_min:%5.3f} < delta p (dp) < {paero_dp_max:%5.3f} //added because paero_cuts.param has this as a cut Threshold set at {paero_npe_thresh:%4.1f} *AEROGEL EFF* 7 PMT pairs SHMS AERO Region 1 efficiency: {SHMS_aero_track_fired_region_1.npassed/SHMS_aero_track_matched_region_1.npassed} = {SHMS_aero_track_fired_region_1.npassed} of {SHMS_aero_track_matched_region_1.npassed} good tracks. @@ -439,7 +439,7 @@ shmsPreShower Counts: {P.cal.stat_trksum1} eff : {P.cal.stat_hitsum1 / P.ca shmsShowerArray Counts: {P.cal.stat_trksum_array} eff : {P.cal.stat_hitsum_array / P.cal.stat_trksum_array} ************************** -* Hodoscope Efficiencies * +* Hodoscope Efficiencies * ************************** Efficiencies for hodoscopes is the fraction of times scin. was hit when track @@ -548,7 +548,7 @@ P1X7+: {P.hod.1x7.posScalerCut} [ {(P.hod.1x7.posScalerCut/P.1MHz.scalerTimeCut P1X8+: {P.hod.1x8.posScalerCut} [ {(P.hod.1x8.posScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] P1X9+: {P.hod.1x9.posScalerCut} [ {(P.hod.1x9.posScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] P1X10+: {P.hod.1x10.posScalerCut} [ {(P.hod.1x10.posScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] -P1X11+: {P.hod.1x11.posScalerCut} [ {(P.hod.1x11.posScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] +P1X11+: {P.hod.1x11.posScalerCut} [ {(P.hod.1x11.posScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] P1X12+: {P.hod.1x12.posScalerCut} [ {(P.hod.1x12.posScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] P1X13+: {P.hod.1x13.posScalerCut} [ {(P.hod.1x13.posScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] @@ -565,7 +565,7 @@ P1X10-: {P.hod.1x10.negScalerCut} [ {(P.hod.1x10.negScalerCut/P.1MHz.scalerTimeC P1X11-: {P.hod.1x11.negScalerCut} [ {(P.hod.1x11.negScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] P1X12-: {P.hod.1x12.negScalerCut} [ {(P.hod.1x12.negScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] P1X13-: {P.hod.1x13.negScalerCut} [ {(P.hod.1x13.negScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] - + P1Y1+: {P.hod.1y1.posScalerCut} [ {(P.hod.1y1.posScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] P1Y2+: {P.hod.1y2.posScalerCut} [ {(P.hod.1y2.posScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] P1Y3+: {P.hod.1y3.posScalerCut} [ {(P.hod.1y3.posScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] @@ -626,7 +626,7 @@ P2X14-: {P.hod.2x14.negScalerCut} [ {(P.hod.2x14.negScalerCut/P.1MHz.scalerTimeC P2Y1+: {P.hod.2y1.posScalerCut} [ {(P.hod.2y1.posScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] P2Y2+: {P.hod.2y2.posScalerCut} [ {(P.hod.2y2.posScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] -P2Y3+: {P.hod.2y3.posScalerCut} [ {(P.hod.2y3.posScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] +P2Y3+: {P.hod.2y3.posScalerCut} [ {(P.hod.2y3.posScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] P2Y4+: {P.hod.2y4.posScalerCut} [ {(P.hod.2y4.posScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] P2Y5+: {P.hod.2y5.posScalerCut} [ {(P.hod.2y5.posScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] P2Y6+: {P.hod.2y6.posScalerCut} [ {(P.hod.2y6.posScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] @@ -666,4 +666,15 @@ P2Y17-: {P.hod.2y17.negScalerCut} [ {(P.hod.2y17.negScalerCut/P.1MHz.scalerTimeC P2Y18-: {P.hod.2y18.negScalerCut} [ {(P.hod.2y18.negScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] P2Y19-: {P.hod.2y19.negScalerCut} [ {(P.hod.2y19.negScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] P2Y20-: {P.hod.2y20.negScalerCut} [ {(P.hod.2y20.negScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] -P2Y21-: {P.hod.2y21.negScalerCut} [ {(P.hod.2y21.negScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] \ No newline at end of file +P2Y21-: {P.hod.2y21.negScalerCut} [ {(P.hod.2y21.negScalerCut/P.1MHz.scalerTimeCut)/1000.:%.3f} kHz ] + +Scalers Gated Charge Charge Asymmetry +BCM1: {gP_hscaler_charge[0]:%12.2f} {gP_hscaler_charge_asy[0]*1e6:%12.2f} +BCM2: {gP_hscaler_charge[1]:%12.2f} {gP_hscaler_charge_asy[1]*1e6:%12.2f} +BCM4A: {gP_hscaler_charge[3]:%12.2f} {gP_hscaler_charge_asy[3]*1e6:%12.2f} +BCM4B: {gP_hscaler_charge[4]:%12.2f} {gP_hscaler_charge_asy[4]*1e6:%12.2f} +BCM4C: {gP_hscaler_charge[5]:%12.2f} {gP_hscaler_charge_asy[5]*1e6:%12.2f} +Unser: {gP_hscaler_charge[2]:%12.2f} {gP_hscaler_charge_asy[2]*1e6:%12.2f} +Time(s): {gP_hscaler_time:%12.2f} {gP_hscaler_time_asy*1e6:%12.2f} +Gates: {(gP_hscaler_triggers_plus+gP_hscaler_triggers_minus):%12.2f} {gP_hscaler_trigger_asy*1e6:%12.2f} +