From d4950896a11c55f4a19c5d55e5c5414c4ab7b3da Mon Sep 17 00:00:00 2001 From: Eric Pooser <pooser@jlab.org> Date: Mon, 11 Dec 2017 16:22:31 -0500 Subject: [PATCH] Report file work (#331) * Update templates so that scalers and production are calculating the computer live time in the same manner * Update replay scripts to include the configuration event handler and correct event types in the scaler replays * Update various DEFfiles so that the report file quantities are consistent --- .../PRODUCTION/hstackana_production_cuts.def | 27 ++++++++-------- DEF-files/HMS/SCALERS/hscaler_cuts.def | 14 +++++--- .../PRODUCTION/pstackana_production_cuts.def | 21 ++++++------ DEF-files/SHMS/SCALERS/pscaler_cuts.def | 14 +++++--- .../HMS/PRODUCTION/replay_production_hms.C | 3 ++ SCRIPTS/HMS/SCALERS/replay_hms_scalers.C | 2 ++ .../SHMS/PRODUCTION/replay_production_shms.C | 3 ++ SCRIPTS/SHMS/SCALERS/replay_shms_scalers.C | 2 ++ .../PRODUCTION/hstackana_production.template | 32 +++++++++++-------- TEMPLATES/HMS/SCALERS/hscalers.template | 8 ++--- .../PRODUCTION/pstackana_production.template | 10 +++--- TEMPLATES/SHMS/SCALERS/pscalers.template | 8 ++--- 12 files changed, 86 insertions(+), 58 deletions(-) diff --git a/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def b/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def index 0ed8d95f..5da0a03a 100644 --- a/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def +++ b/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def @@ -3,22 +3,23 @@ Block: RawDecode Pedestal_event g.evtyp == 99 +HMS_event g.evtyp == 2 +SHMS_event g.evtyp == 1 +COIN_event g.evtyp == 4 -HMS_event g.evtyp == 2 -SHMS_event g.evtyp == 1 -COIN_event g.evtyp == 4 -TRIG1 T.hms.hTRIG1_tdcTimeRaw>0 -TRIG2 T.hms.hTRIG2_tdcTimeRaw>0 -TRIG3 T.hms.hTRIG3_tdcTimeRaw>0 -HMS_Pretrig TRIG1||TRIG2||TRIG3 +TRIG1 T.hms.hTRIG1_tdcTimeRaw > 0 +TRIG2 T.hms.hTRIG2_tdcTimeRaw > 0 +TRIG3 T.hms.hTRIG3_tdcTimeRaw > 0 +HMS_Pretrig TRIG1 || TRIG2 || TRIG3 +hms_trigs HMS_event +edtm_accepted T.hms.hEDTM_tdcTime != 0.0 +physics_accepted T.hms.hEDTM_tdcTime == 0.0 RawDecode_master 1 Block: Decode -hms_trigs HMS_event - Decode_master HMS_event Block: CoarseTracking @@ -34,11 +35,9 @@ 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.2v2.time > 0 && H.dc.1v2.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.2u2.time > 0 && H.dc.2u2.time < 250 -time_cut12 H.dc.2x2.time > 0 && H.dc.2x2.time < 250 - - +time_cut10 H.dc.2v1.time > 0 && H.dc.2v1.time < 250 +time_cut11 H.dc.2u2.time > 0 && H.dc.2u2.time < 250 +time_cut12 H.dc.2x2.time > 0 && H.dc.2x2.time < 250 hmsDC1Planes_large (H.dc.1x1.nhit+H.dc.1v2.nhit+H.dc.1u1.nhit+H.dc.1v1.nhit+H.dc.1x2.nhit+H.dc.1u2.nhit) >20 hmsDC2Planes_large (H.dc.2x1.nhit+H.dc.2v2.nhit+H.dc.2u1.nhit+H.dc.2v1.nhit+H.dc.2x2.nhit+H.dc.2u2.nhit) >20 diff --git a/DEF-files/HMS/SCALERS/hscaler_cuts.def b/DEF-files/HMS/SCALERS/hscaler_cuts.def index 2bc4a88a..362d7466 100644 --- a/DEF-files/HMS/SCALERS/hscaler_cuts.def +++ b/DEF-files/HMS/SCALERS/hscaler_cuts.def @@ -4,15 +4,21 @@ Block: RawDecode Pedestal_event g.evtyp == 99 HMS_event g.evtyp == 2 +SHMS_event g.evtyp == 1 +COIN_event g.evtyp == 4 -RawDecode_master 1 - -Block: Decode +TRIG1 T.hms.hTRIG1_tdcTimeRaw > 0 +TRIG2 T.hms.hTRIG2_tdcTimeRaw > 0 +TRIG3 T.hms.hTRIG3_tdcTimeRaw > 0 +HMS_Pretrig TRIG1 || TRIG2 || TRIG3 hms_trigs HMS_event edtm_accepted T.hms.hEDTM_tdcTime != 0.0 physics_accepted T.hms.hEDTM_tdcTime == 0.0 -triggers_accepted T.hms.hT1_tdcTime == 200.0 + +RawDecode_master 1 + +Block: Decode Decode_master HMS_event diff --git a/DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def b/DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def index b2c81270..ee491d0d 100644 --- a/DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def +++ b/DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def @@ -3,20 +3,23 @@ Block: RawDecode Pedestal_event g.evtyp == 99 -SHMS_event g.evtyp == 1 - HMS_event g.evtyp == 2 -COIN_event g.evtyp == 4 -TRIG1 T.shms.pTRIG1_tdcTimeRaw>0 -TRIG2 T.shms.pTRIG2_tdcTimeRaw>0 -TRIG3 T.shms.pTRIG3_tdcTimeRaw>0 -SHMS_Pretrig TRIG1||TRIG2||TRIG3 +SHMS_event g.evtyp == 1 +HMS_event g.evtyp == 2 +COIN_event g.evtyp == 4 + +TRIG1 T.shms.pTRIG1_tdcTimeRaw > 0 +TRIG2 T.shms.pTRIG2_tdcTimeRaw > 0 +TRIG3 T.shms.pTRIG3_tdcTimeRaw > 0 +SHMS_Pretrig TRIG1 || TRIG2 || TRIG3 + +shms_trigs SHMS_event +edtm_accepted T.shms.pEDTM_tdcTime != 0.0 +physics_accepted T.shms.pEDTM_tdcTime == 0.0 RawDecode_master 1 Block: Decode -shms_trigs SHMS_event - good_S1_time T.shms.p1T_tdcTime > 241 && T.shms.p1T_tdcTime < 243 good_S2X_time T.shms.p2X_tdcTime > 180 && T.shms.p2X_tdcTime < 220 good_S1_S2X_time good_S1_time && good_S2X_time diff --git a/DEF-files/SHMS/SCALERS/pscaler_cuts.def b/DEF-files/SHMS/SCALERS/pscaler_cuts.def index bfe576ec..64556391 100644 --- a/DEF-files/SHMS/SCALERS/pscaler_cuts.def +++ b/DEF-files/SHMS/SCALERS/pscaler_cuts.def @@ -4,15 +4,21 @@ Block: RawDecode Pedestal_event g.evtyp == 99 SHMS_event g.evtyp == 1 +HMS_event g.evtyp == 2 +COIN_event g.evtyp == 4 -RawDecode_master 1 - -Block: Decode +TRIG1 T.shms.pTRIG1_tdcTimeRaw > 0 +TRIG2 T.shms.pTRIG2_tdcTimeRaw > 0 +TRIG3 T.shms.pTRIG3_tdcTimeRaw > 0 +SHMS_Pretrig TRIG1 || TRIG2 || TRIG3 shms_trigs SHMS_event edtm_accepted T.shms.pEDTM_tdcTime != 0.0 physics_accepted T.shms.pEDTM_tdcTime == 0.0 -triggers_accepted T.shms.pT2_tdcTime == 200.0 + +RawDecode_master 1 + +Block: Decode Decode_master SHMS_event diff --git a/SCRIPTS/HMS/PRODUCTION/replay_production_hms.C b/SCRIPTS/HMS/PRODUCTION/replay_production_hms.C index bff5c9c1..10695ab8 100644 --- a/SCRIPTS/HMS/PRODUCTION/replay_production_hms.C +++ b/SCRIPTS/HMS/PRODUCTION/replay_production_hms.C @@ -101,6 +101,9 @@ void replay_production_hms(Int_t RunNumber=0, Int_t MaxEvent=0) { hscaler->SetDelayedType(129); hscaler->SetUseFirstEvent(kTRUE); gHaEvtHandlers->Add(hscaler); + // Add event handler for DAQ configuration event + THcConfigEvtHandler *hconfig = new THcConfigEvtHandler("hconfig", "Hall C configuration event handler"); + gHaEvtHandlers->Add(hconfig); // Set up the analyzer - we use the standard one, // but this could be an experiment-specific one as well. diff --git a/SCRIPTS/HMS/SCALERS/replay_hms_scalers.C b/SCRIPTS/HMS/SCALERS/replay_hms_scalers.C index 00436895..bcc2eec9 100644 --- a/SCRIPTS/HMS/SCALERS/replay_hms_scalers.C +++ b/SCRIPTS/HMS/SCALERS/replay_hms_scalers.C @@ -54,7 +54,9 @@ void replay_hms_scalers(Int_t RunNumber=0, Int_t MaxEvent=0) { gHaEvtHandlers->Add(hcepics); // Add event handler for scaler events THcScalerEvtHandler *hscaler = new THcScalerEvtHandler("H","Hall C scaler event type 129"); + hscaler->AddEvtType(2); hscaler->AddEvtType(129); + hscaler->SetDelayedType(129); hscaler->SetUseFirstEvent(kTRUE); gHaEvtHandlers->Add(hscaler); // Add event handler for DAQ configuration event diff --git a/SCRIPTS/SHMS/PRODUCTION/replay_production_shms.C b/SCRIPTS/SHMS/PRODUCTION/replay_production_shms.C index a1896596..3041ef40 100644 --- a/SCRIPTS/SHMS/PRODUCTION/replay_production_shms.C +++ b/SCRIPTS/SHMS/PRODUCTION/replay_production_shms.C @@ -106,6 +106,9 @@ void replay_production_shms (Int_t RunNumber = 0, Int_t MaxEvent = 0) { pscaler->SetDelayedType(129); pscaler->SetUseFirstEvent(kTRUE); gHaEvtHandlers->Add(pscaler); + // Add event handler for DAQ configuration event + THcConfigEvtHandler *pconfig = new THcConfigEvtHandler("pconfig", "Hall C configuration event handler"); + gHaEvtHandlers->Add(pconfig); // Set up the analyzer - we use the standard one, // but this could be an experiment-specific one as well. diff --git a/SCRIPTS/SHMS/SCALERS/replay_shms_scalers.C b/SCRIPTS/SHMS/SCALERS/replay_shms_scalers.C index d9d1435b..8a984a75 100644 --- a/SCRIPTS/SHMS/SCALERS/replay_shms_scalers.C +++ b/SCRIPTS/SHMS/SCALERS/replay_shms_scalers.C @@ -54,7 +54,9 @@ void replay_shms_scalers (Int_t RunNumber = 0, Int_t MaxEvent = 0) { gHaEvtHandlers->Add(hcepics); // Add handler for scaler events THcScalerEvtHandler *pscaler = new THcScalerEvtHandler("P","Hall C scaler event type 1"); + pscaler->AddEvtType(1); pscaler->AddEvtType(129); + pscaler->SetDelayedType(129); pscaler->SetUseFirstEvent(kTRUE); gHaEvtHandlers->Add(pscaler); // Add event handler for DAQ configuration event diff --git a/TEMPLATES/HMS/PRODUCTION/hstackana_production.template b/TEMPLATES/HMS/PRODUCTION/hstackana_production.template index 8709218c..0534c29f 100644 --- a/TEMPLATES/HMS/PRODUCTION/hstackana_production.template +++ b/TEMPLATES/HMS/PRODUCTION/hstackana_production.template @@ -50,19 +50,23 @@ Ps4_factor = {floor(2**(ghconfig_ti_ps[3] - 1) + 1):%d} Ps5_factor = {floor(2**(ghconfig_ti_ps[4] - 1) + 1):%d} Ps6_factor = {floor(2**(ghconfig_ti_ps[5] - 1) + 1):%d} -*********** -* Triggers -*********** +*************** +* 3/4 Triggers +*************** HMS 3/4 Triggers : {H.hTRIG1.scaler} Estimated HMS 3/4 Triggers : {H.hTRIG1.scalerRate*(H.1Mhz.scaler/1000000.):%.0f} HMS 3/4 Trigger Rate : {H.hTRIG1.scalerRate/1000.:%.3f} kHz Accepted HMS Triggers : {TRIG1.npassed} -HMS Event Types : {HMS_events.npassed} +HMS Event Types : {HMS_event.npassed} -HMS Computer Live Time : {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} % +**************** +* Chamber Hits * +**************** + 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} @@ -109,9 +113,9 @@ 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} +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} ******************* @@ -337,9 +341,9 @@ cer_elec: {cer_elec.npassed} cer_pi: {cer_pi.npassed} -************ +**************** * HGC Cerenkov * -************ +**************** Good Track Requirements: 1. Only one track found in the focal plane @@ -361,10 +365,10 @@ and scal_npe_sum > 3.0 (hardwired). (is this still true?) Events examined = strig = {hms_trigs.npassed} Tracks found = scleantrack = {hCleanTrack.npassed} -//Tracks passing chisquared cut = {hstat_cal_numevents:%7d} (in previous template, do we need this here?) +Tracks passing chisquared cut = (hstat_cal_numevents:%7d) (in previous template, do we need this here?) -hmsPreShower Counts: {H.cal.stat_trksum1} eff : {H.cal.stat_hitsum1 / H.cal.stat_trksum1} -hmsShowerArray Counts: {H.cal.stat_trksum_array} eff : {H.cal.stat_hitsum_array / H.cal.stat_trksum_array} +hmsPreShower Counts: (H.cal.stat_trksum1) eff : {H.cal.stat_hitsum1 / H.cal.stat_trksum1} +hmsShowerArray Counts: (H.cal.stat_trksum_array) eff : (H.cal.stat_hitsum_array / H.cal.stat_trksum_array) ************************** * Hodoscope Efficiencies * @@ -374,7 +378,7 @@ with chisquared/dof < {hstat_maxchisq:%5.1f} came within {hstat_slop:%4.1f} cm o Events examined = strig = {hms_trigs.npassed} Tracks found = scleantrack = {hCleanTrack.npassed} -//Tracks passing chisquared cut = {hstat_numevents} (in previous template, do we still need this?) +Tracks passing chisquared cut = (hstat_numevents) (in previous template, do we still need this?) Hodo efficiency: Plane 1: {hhodo_plane_AND_eff[0]} diff --git a/TEMPLATES/HMS/SCALERS/hscalers.template b/TEMPLATES/HMS/SCALERS/hscalers.template index 284940d0..84691f97 100644 --- a/TEMPLATES/HMS/SCALERS/hscalers.template +++ b/TEMPLATES/HMS/SCALERS/hscalers.template @@ -49,11 +49,11 @@ Ps6_factor = {floor(2**(ghconfig_ti_ps[5] - 1) + 1):%d} HMS 3/4 Triggers : {H.hTRIG1.scaler} Estimated HMS 3/4 Triggers : {H.hTRIG1.scalerRate*(H.1Mhz.scaler/1000000.):%.0f} HMS 3/4 Trigger Rate : {H.hTRIG1.scalerRate/1000.:%.3f} kHz -Accepted HMS Triggers : {triggers_accepted.npassed} -HMS Event Types : {hms_trigs.npassed} +Accepted HMS Triggers : {TRIG1.npassed} +HMS Event Types : {HMS_event.npassed} -HMS Computer Live Time : {(hms_trigs.npassed / H.hTRIG1.scaler)*100.0:%3.4f} % -HMS Computer Dead Time : {100.0 - (hms_trigs.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} % ******* * EDTM diff --git a/TEMPLATES/SHMS/PRODUCTION/pstackana_production.template b/TEMPLATES/SHMS/PRODUCTION/pstackana_production.template index f9080e18..0746b93a 100644 --- a/TEMPLATES/SHMS/PRODUCTION/pstackana_production.template +++ b/TEMPLATES/SHMS/PRODUCTION/pstackana_production.template @@ -39,15 +39,15 @@ Ps4_factor = {floor(2**(gpconfig_ti_ps[3] - 1) + 1):%d} Ps5_factor = {floor(2**(gpconfig_ti_ps[4] - 1) + 1):%d} Ps6_factor = {floor(2**(gpconfig_ti_ps[5] - 1) + 1):%d} -*********** -* 3/4 Triggers -*********** +*************** +* 3/4 Triggers +*************** SHMS 3/4 Triggers : {P.pTRIG1.scaler} Estimated SHMS 3/4 Triggers : {P.pTRIG1.scalerRate*(P.1Mhz.scaler/1000000.):%.0f} SHMS 3/4 Trigger Rate : {P.pTRIG1.scalerRate/1000.:%.3f} kHz -Accepted SHMS Triggers : {TRIG1.npassed} -SHMS Event Types : {SHMS_Pretrig.npassed} +Accepted SHMS Triggers : {TRIG1.npassed} +SHMS Event Types : {SHMS_Pretrig.npassed} SHMS Computer Live Time : {(TRIG1.npassed / P.pTRIG1.scaler)*100.0:%3.4f} % SHMS Computer Dead Time : {100.0 - (TRIG1.npassed / P.pTRIG1.scaler)*100.0:%3.4f} % diff --git a/TEMPLATES/SHMS/SCALERS/pscalers.template b/TEMPLATES/SHMS/SCALERS/pscalers.template index 6c62c440..4c0d0833 100644 --- a/TEMPLATES/SHMS/SCALERS/pscalers.template +++ b/TEMPLATES/SHMS/SCALERS/pscalers.template @@ -50,11 +50,11 @@ Ps6_factor = {floor(2**(gpconfig_ti_ps[5] - 1) + 1):%d} SHMS 3/4 Triggers : {P.pTRIG1.scaler} Estimated SHMS 3/4 Triggers : {P.pTRIG1.scalerRate*(P.1Mhz.scaler/1000000.):%.0f} SHMS 3/4 Trigger Rate : {P.pTRIG1.scalerRate/1000.:%.3f} kHz -Accepted SHMS Triggers : {triggers_accepted.npassed} -SHMS Event Types : {shms_trigs.npassed} +Accepted SHMS Triggers : {TRIG1.npassed} +SHMS Event Types : {SHMS_Pretrig.npassed} -SHMS Computer Live Time : {(shms_trigs.npassed / P.pTRIG1.scaler)*100.0:%3.4f} % -SHMS Computer Dead Time : {100.0 - (shms_trigs.npassed / P.pTRIG1.scaler)*100.0:%3.4f} % +SHMS Computer Live Time : {(TRIG1.npassed / P.pTRIG1.scaler)*100.0:%3.4f} % +SHMS Computer Dead Time : {100.0 - (TRIG1.npassed / P.pTRIG1.scaler)*100.0:%3.4f} % ******* * EDTM -- GitLab