diff --git a/DBASE/COIN/STD/ep.database b/DBASE/COIN/STD/ep.database new file mode 100644 index 0000000000000000000000000000000000000000..4d1639816cf84f08d708a928a8cae60e1196ecdd --- /dev/null +++ b/DBASE/COIN/STD/ep.database @@ -0,0 +1,4 @@ +0-99999 +g_ctp_parm_filename ="DBASE/COIN/GEN/general.param" +g_ctp_kinematics_filename ="DBASE/COIN/STD/ep.kinematics" +g_ctp_calib_filename ="DBASE/COIN/GEN/default_det_calib_files.param" diff --git a/DBASE/COIN/STD/ep.kinematics b/DBASE/COIN/STD/ep.kinematics new file mode 100644 index 0000000000000000000000000000000000000000..02d5c0d446ad2e7e9a3d8f412fb999fb8eea6d8d --- /dev/null +++ b/DBASE/COIN/STD/ep.kinematics @@ -0,0 +1,115 @@ +# +# Need to set htheta_lab to a NEGATIVE value +# Need to set ptheta_lab to a POSITIVE value +# 1H gtargmass_amu = 1.00794 +# 12C gtargmass_amu = 12.0107 +# 27Al gtargmass_amu = 26.98 +# + +0-99999 +gpbeam = 6.4 +gtargmass_amu=12.0107 +htheta_lab = -15. +ptheta_lab = 15. +hpcentral = 3. +ppcentral = 3. +hpartmass = 0.00051099 +ppartmass = 0.00051099 + + + + + +1711-1721 +gpbeam=2.221 +hpartmass = 0.938272 +ppartmass = 0.00051099 + +1722 +gpbeam=2.221 +hpartmass = 0.00051099 +ppartmass = 0.938272 + + +1711-1712 +hpcentral = 0.957 +ppcentral = 1.816 +htheta_lab = -53.33 +ptheta_lab = 25.01 + +1711 +gtargmass_amu = 1.00794 + +1712 +gtargmass_amu = 26.98 + +1713-1716 +hpcentral = 1.136 +ppcentral = 1.816 +htheta_lab = -47.9 +ptheta_lab = 30.0 + +1713 +gtargmass_amu = 1.00794 + +1714-1715 +gtargmass_amu = 26.98 + +1716 +gtargmass_amu = 1.00794 + +1717-1718 +hpcentral = 1.136 +ppcentral = 1.686 +htheta_lab = -47.9 +ptheta_lab = 30.0 + +1717 +gtargmass_amu = 26.98 + +1718 +gtargmass_amu = 1.00794 + +1719-1720 +hpcentral = 1.136 +ppcentral = 1.555 +htheta_lab = -47.9 +ptheta_lab = 30.0 + +1719 +gtargmass_amu = 1.00794 + +1720 +gtargmass_amu = 26.98 + +1721-1722 +hpcentral = 0.936 +ppcentral = 2.012 +htheta_lab = -65.1 +ptheta_lab = 25.0 + +1721 +gtargmass_amu = 26.98 + +1722 +gtargmass_amu = 1.00794 + +1851-1867 +gpbeam=6.405 +hpartmass = 0.938272 +ppartmass = 0.00051099 +gtargmass_amu=1.00794 +htheta_lab = -27.5 +ptheta_lab = 27.5 +hpcentral = 3.609 +ppcentral = 3.609 + +1869-9999 +gpbeam=6.405 +ppartmass = 0.938272 +hpartmass = 0.00051099 +gtargmass_amu=1.00794 +htheta_lab = -27.5 +ptheta_lab = 27.5 +hpcentral = 3.609 +ppcentral = 3.609 diff --git a/DBASE/COIN/STD/standard.kinematics b/DBASE/COIN/STD/standard.kinematics index 9cfd2980faea4edd351cb9234bf3c08681fa65b1..5071050cbb32f996b1ce46bf57a31399cd1b3418 100644 --- a/DBASE/COIN/STD/standard.kinematics +++ b/DBASE/COIN/STD/standard.kinematics @@ -84,12 +84,32 @@ gtargmass_amu = 26.98 1722 gtargmass_amu = 1.00794 -1851-1855 +1851-1867 gpbeam = 6.405 gtargmass_amu = 1.00794 htheta_lab = -27.5 ptheta_lab = 27.6 hpcentral = 3.609 -ppcentral = 3.609 +ppcentral = 3.609*0.985 +hpartmass = 0.93827231 +ppartmass = 0.00051099 + +1884-1892 +gpbeam = 6.405 +gtargmass_amu = 1.00794 +htheta_lab = -20.0 +ptheta_lab = 20.0 +hpcentral = 3.609 +ppcentral = 2.5*0.985 +ppartmass = 0.93827231 +hpartmass = 0.00051099 + +1893-1910 +gpbeam = 6.405 +gtargmass_amu = 1.00794 +htheta_lab = -27.54 +ptheta_lab = 27.50 +hpcentral = 3.609 +ppcentral = 3.609*0.985 hpartmass = 0.93827231 ppartmass = 0.00051099 diff --git a/DEF-files/COIN/EPICS/epics_short.def b/DEF-files/COIN/EPICS/epics_short.def new file mode 100644 index 0000000000000000000000000000000000000000..9a3f82a7ec71605a2ecab6282a4d78d93e4e45ec --- /dev/null +++ b/DEF-files/COIN/EPICS/epics_short.def @@ -0,0 +1,13 @@ +block T.coin.* + +begin epics +IBC3H00CRCUR4 +hac_bcm_average +ibcm1 +ibcm2 +iunser +itov3out +itov4out +end epics + + diff --git a/DEF-files/COIN/PRODUCTION/coin_production_ep.def b/DEF-files/COIN/PRODUCTION/coin_production_ep.def new file mode 100644 index 0000000000000000000000000000000000000000..4b6b8e19bb748e917906d4e0cacf8761eb135e12 --- /dev/null +++ b/DEF-files/COIN/PRODUCTION/coin_production_ep.def @@ -0,0 +1,33 @@ +block T.coin.hTRIG* +block T.coin.pTRIG* + + +block H.cer.npe* +block H.cal.e* +block H.hod.*time +block H.hod.*Time +block H.gtr.* +block H.kin.* + +block P.hgcer.npe* +block P.cal.e* +block P.hod.*time +block P.hod.*Time +block P.gtr.* +block P.kin.* + +begin epics +IBC3H00CRCUR4 +hac_bcm_average +ibcm1 +ibcm2 +iunser +itov3out +itov4out +end epics + + +#include "DEF-files/COIN/PRODUCTION/GTR/coin_gtr_histos.def" +#include "DEF-files/COIN/PRODUCTION/KIN/coin_pElec_hProt_kin_histos.def" +#include "DEF-files/COIN/PRODUCTION/TRIG/coin_trig_histos.def" + diff --git a/DEF-files/COIN/PRODUCTION/coin_production_ep_cuts.def b/DEF-files/COIN/PRODUCTION/coin_production_ep_cuts.def new file mode 100644 index 0000000000000000000000000000000000000000..099b70e3a00c966cbd563461ba091d2a7f892b74 --- /dev/null +++ b/DEF-files/COIN/PRODUCTION/coin_production_ep_cuts.def @@ -0,0 +1,50 @@ +#include "DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def" +#include "DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def" + +Block: RawDecode + +Pedestal_event g.evtyp == 99 +SHMS_event g.evtyp == 1 +HMS_event g.evtyp == 2 +BOTH_SINGLES_event g.evtyp == 3 +COIN_ONLY_event g.evtyp == 4 +SHMS_COIN_event g.evtyp == 5 +HMS_COIN_event g.evtyp == 6 +COIN_ALL_event g.evtyp == 7 +ALL_events SHMS_event || HMS_event || BOTH_SINGLES_event || COIN_ONLY_event || COIN_ALL_event + +RawDecode_master ALL_events + +Block: Decode + +goodctime ALL_events #LOOSE CUT AROUND COINTIME PEAK (3 beam buckets) +tightctime ALL_events #TIGHT CUT AROUND COINTIME PEAK (1 beam buckets) +ranctime ALL_events #CUT AWAY FROM COINTIME PEAK (4 beam buckets) + +Decode_master ALL_events + +Block: CoarseTracking +CoarseTracking_master ALL_events + +Block: CoarseReconstruct +CoarseReconstruct_master ALL_events + +Block: Tracking +Tracking_master ALL_events + +Block: Reconstruct +Reconstruct_master ALL_events + +hcleantrack H.gtr.index > -1 +pcleantrack P.gtr.index > -1 +ccleantrack hcleantrack && pcleantrack + +coincut ccleantrack && goodctime +tight_coin ccleantrack && tightctime +ran_coincut ccleantrack && ranctime + +e_cut_cal P.cal.etottracknorm > 0.6 && P.cal.etottracknorm < 2.0 +e_cut_cer P.hgcer.npeSum > 5.0 && P.ngcer.npeSum > 15.0 +select_e_cut e_cut_cal && e_cut_cer +betacut_proton H.gtr.beta > 0.6 && H.gtr.beta < 0.8 +coincut_ep ccleantrack && select_e_cut && betacut_proton diff --git a/DEF-files/COIN/PRODUCTION/coin_production_pElec_hProt.def b/DEF-files/COIN/PRODUCTION/coin_production_pElec_hProt.def index 695e459799173f832bf15c078861d928b546b03a..9db5c46f0df82abc24e336db959be6c10df71f6d 100644 --- a/DEF-files/COIN/PRODUCTION/coin_production_pElec_hProt.def +++ b/DEF-files/COIN/PRODUCTION/coin_production_pElec_hProt.def @@ -1,4 +1,5 @@ -block T.coin.* +block T.coin.hTRIG* +block T.coin.pTRIG* block H.cer.* block H.dc.* diff --git a/DEF-files/COIN/SCALERS/coinscaler_cuts.def b/DEF-files/COIN/SCALERS/coinscaler_cuts.def new file mode 100644 index 0000000000000000000000000000000000000000..feab2385c0bc75ef8eea0054ff7a2542c166a36c --- /dev/null +++ b/DEF-files/COIN/SCALERS/coinscaler_cuts.def @@ -0,0 +1,53 @@ +# Report file for SHMS stack + +Block: RawDecode + +Pedestal_event g.evtyp == 99 +SHMS_event g.evtyp == 1 +HMS_event g.evtyp == 2 +COIN_event g.evtyp >= 4&&g.evtyp<8 + +SHMS_Pretrig pTRIG1_ROC2 || pTRIG2_ROC2 || pTRIG3_ROC2 +HMS_Pretrig pTRIG4_ROC2 +COIN_Pretrig pTRIG6_ROC2 + +RawDecode_master 1 + +Block: Decode + +pTRIG1_ROC2 T.coin.pTRIG1_ROC2_tdcTimeRaw > 0 +pTRIG2_ROC2 T.coin.pTRIG2_ROC2_tdcTimeRaw > 0 +pTRIG3_ROC2 T.coin.pTRIG3_ROC2_tdcTimeRaw > 0 +pTRIG4_ROC2 T.coin.pTRIG4_ROC2_tdcTimeRaw > 0 +pTRIG5_ROC2 T.coin.pTRIG5_ROC2_tdcTimeRaw > 0 +pTRIG6_ROC2 T.coin.pTRIG6_ROC2_tdcTimeRaw > 0 + +pTRIG1_ROC1 T.coin.pTRIG1_ROC1_tdcTimeRaw > 0 +pTRIG2_ROC1 T.coin.pTRIG2_ROC1_tdcTimeRaw > 0 +pTRIG3_ROC1 T.coin.pTRIG3_ROC1_tdcTimeRaw > 0 +pTRIG4_ROC1 T.coin.pTRIG4_ROC1_tdcTimeRaw > 0 +pTRIG5_ROC1 T.coin.pTRIG5_ROC1_tdcTimeRaw > 0 +pTRIG6_ROC1 T.coin.pTRIG6_ROC1_tdcTimeRaw > 0 + +shms_trigs SHMS_event +SHMS_edtm_accepted T.coin.pEDTM_tdcTime != 0.0 +SHMS_physics_accepted T.coin.pEDTM_tdcTime == 0.0 +HMS_edtm_accepted T.coin.hEDTM_tdcTime != 0.0 +HMS_physics_accepted T.coin.hEDTM_tdcTime == 0.0 + +Decode_master 1 + +Block: CoarseTracking +CoarseTracking_master 1 + +Block: CoarseReconstruct +CoarseReconstruct_master 1 + +Block: Tracking +Tracking_master 1 + +Block: Reconstruct +Reconstruct_master 1 + +Block: Physics +Physics_master 1 \ No newline at end of file diff --git a/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def b/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def index 2bcdb3ca96470dc6771af857b8fed57b7b90e46e..5729b108f2b12063e2c3b0d97a7ddfcbe8a559bc 100644 --- a/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def +++ b/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def @@ -12,6 +12,10 @@ HMS_COIN_event g.evtyp == 6 COIN_ALL_event g.evtyp == 7 ALL_events SHMS_event || HMS_event || BOTH_SINGLES_event || COIN_ONLY_event || COIN_ALL_event +RawDecode_master 1 + +Block: Decode + hcut_TRIG1 T.hms.hTRIG1_tdcTimeRaw > 0 hcut_TRIG2 T.hms.hTRIG2_tdcTimeRaw > 0 hcut_TRIG3 T.hms.hTRIG3_tdcTimeRaw > 0 @@ -21,10 +25,6 @@ hms_trigs HMS_event hcut_edtm_accepted T.hms.hEDTM_tdcTime != 0.0 hcut_physics_accepted T.hms.hEDTM_tdcTime == 0.0 -RawDecode_master 1 - -Block: Decode - Decode_master ALL_events Block: CoarseTracking diff --git a/DEF-files/HMS/SCALERS/hscaler_cuts.def b/DEF-files/HMS/SCALERS/hscaler_cuts.def index 362d74661986c6b36a396d90ffe2d01508c9cd6e..397473eba8fc2459712606020bdb126d4a9a1774 100644 --- a/DEF-files/HMS/SCALERS/hscaler_cuts.def +++ b/DEF-files/HMS/SCALERS/hscaler_cuts.def @@ -7,6 +7,12 @@ HMS_event g.evtyp == 2 SHMS_event g.evtyp == 1 COIN_event g.evtyp == 4 +RawDecode_master 1 + +Block: Decode + +Decode_master HMS_event + TRIG1 T.hms.hTRIG1_tdcTimeRaw > 0 TRIG2 T.hms.hTRIG2_tdcTimeRaw > 0 TRIG3 T.hms.hTRIG3_tdcTimeRaw > 0 @@ -16,12 +22,6 @@ 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 - -Decode_master HMS_event - Block: CoarseTracking CoarseTracking_master HMS_event diff --git a/DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def b/DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def index f5502d32591ff1b8d61dc0e468f26576f65eb4f1..f66a5a4cab051b2e4e21aa7cdca6ed67f1fba948 100644 --- a/DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def +++ b/DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def @@ -12,6 +12,10 @@ HMS_COIN_event g.evtyp == 6 COIN_ALL_event g.evtyp == 7 ALL_events SHMS_event || HMS_event || BOTH_SINGLES_event || COIN_ONLY_event || COIN_ALL_event +RawDecode_master 1 + +Block: Decode + pcut_TRIG1 T.shms.pTRIG1_tdcTimeRaw > 0 pcut_TRIG2 T.shms.pTRIG2_tdcTimeRaw > 0 pcut_TRIG3 T.shms.pTRIG3_tdcTimeRaw > 0 @@ -21,10 +25,6 @@ shms_trigs SHMS_event pcut_edtm_accepted T.shms.pEDTM_tdcTime != 0.0 pcut_physics_accepted T.shms.pEDTM_tdcTime == 0.0 -RawDecode_master 1 - -Block: Decode - pcut_good_S1_time T.shms.p1T_tdcTime > 241 && T.shms.p1T_tdcTime < 243 pcut_good_S2X_time T.shms.p2X_tdcTime > 180 && T.shms.p2X_tdcTime < 220 pcut_good_S1_S2X_time pcut_good_S1_time && pcut_good_S2X_time diff --git a/DEF-files/SHMS/SCALERS/pscaler_cuts.def b/DEF-files/SHMS/SCALERS/pscaler_cuts.def index 64556391f63e9a074b592611f46e950b92119211..9200b35da9ea15ee7d5175e94cbbd6e728b3802b 100644 --- a/DEF-files/SHMS/SCALERS/pscaler_cuts.def +++ b/DEF-files/SHMS/SCALERS/pscaler_cuts.def @@ -7,6 +7,10 @@ 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 @@ -16,10 +20,6 @@ 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 - Decode_master SHMS_event Block: CoarseTracking diff --git a/SCRIPTS/COIN/PRODUCTION/replay_production_ep.C b/SCRIPTS/COIN/PRODUCTION/replay_production_ep.C new file mode 100644 index 0000000000000000000000000000000000000000..78954c9f0bb5a25d690a368e0679554342ca9fd6 --- /dev/null +++ b/SCRIPTS/COIN/PRODUCTION/replay_production_ep.C @@ -0,0 +1,237 @@ +void replay_production_ep (Int_t RunNumber = 0, Int_t MaxEvent = 0) { + + // Get RunNumber and MaxEvent if not provided. + if(RunNumber == 0) { + cout << "Enter a Run Number (-1 to exit): "; + cin >> RunNumber; + if( RunNumber<=0 ) return; + } + if(MaxEvent == 0) { + cout << "\nNumber of Events to analyze: "; + cin >> MaxEvent; + if(MaxEvent == 0) { + cerr << "...Invalid entry\n"; + exit; + } + } + + // Create file name patterns. + const char* RunFileNamePattern = "coin_all_%05d.dat"; + vector<TString> pathList; + pathList.push_back("."); + pathList.push_back("./raw"); + pathList.push_back("./raw/../raw.copiedtotape"); + pathList.push_back("./cache"); + + //const char* RunFileNamePattern = "raw/coin_all_%05d.dat"; + const char* ROOTFileNamePattern = "ROOTfiles/ep_%d.root"; + + // Load global parameters + // Add variables to global list. + gHcParms->Define("gen_run_number", "Run Number", RunNumber); + gHcParms->AddString("g_ctp_database_filename", "DBASE/COIN/STD/ep.database"); + // Load varibles from files to global list. + gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); + // g_ctp_parm_filename and g_decode_map_filename should now be defined. + gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber); + gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename")); + gHcParms->Load(gHcParms->GetString("g_ctp_calib_filename")); + // Load params for SHMS trigger configuration + gHcParms->Load("PARAM/TRIG/tcoin.param"); + // Load the Hall C detector map + gHcDetectorMap = new THcDetectorMap(); + gHcDetectorMap->Load("MAPS/COIN/DETEC/coin.map"); + gHcParms->Load("PARAM/SHMS/GEN/p_fadc_debug.param"); + gHcParms->Load("PARAM/HMS/GEN/h_fadc_debug.param"); + + //=:=:=:= + // SHMS + //=:=:=:= + + // Set up the equipment to be analyzed. + THcHallCSpectrometer* SHMS = new THcHallCSpectrometer("P", "SHMS"); + SHMS->SetEvtType(1); + SHMS->AddEvtType(4); + SHMS->AddEvtType(5); + SHMS->AddEvtType(6); + SHMS->AddEvtType(7); + gHaApps->Add(SHMS); + // Add Noble Gas Cherenkov to SHMS apparatus + THcCherenkov* pngcer = new THcCherenkov("ngcer", "Noble Gas Cherenkov"); + SHMS->AddDetector(pngcer); + // Add drift chambers to SHMS apparatus + THcDC* pdc = new THcDC("dc", "Drift Chambers"); + SHMS->AddDetector(pdc); + // Add hodoscope to SHMS apparatus + THcHodoscope* phod = new THcHodoscope("hod", "Hodoscope"); + SHMS->AddDetector(phod); + // Add Heavy Gas Cherenkov to SHMS apparatus + THcCherenkov* phgcer = new THcCherenkov("hgcer", "Heavy Gas Cherenkov"); + SHMS->AddDetector(phgcer); + // Add Aerogel Cherenkov to SHMS apparatus + THcAerogel* paero = new THcAerogel("aero", "Aerogel"); + SHMS->AddDetector(paero); + // Add calorimeter to SHMS apparatus + THcShower* pcal = new THcShower("cal", "Calorimeter"); + SHMS->AddDetector(pcal); + + // Include golden track information + THaGoldenTrack* pgtr = new THaGoldenTrack("P.gtr", "SHMS Golden Track", "P"); + gHaPhysics->Add(pgtr); + // Add Rastered Beam Apparatus + THaApparatus* pbeam = new THcRasteredBeam("P.rb", "SHMS Rastered Beamline"); + gHaApps->Add(pbeam); + THaReactionPoint* prp= new THaReactionPoint("P.react"," SHMS reaction point","P","P.rb"); + gHaPhysics->Add(prp); + THcExtTarCor* pext = new THcExtTarCor("P.extcor"," HMS extended target corrections","P","P.react"); + gHaPhysics->Add(pext); + // Add Physics Module to calculate primary (scattered) beam kinematics + THcPrimaryKine* pkin_primary = new THcPrimaryKine("P.kin.primary", "SHMS Single Arm Kinematics", "P", "P.rb"); + gHaPhysics->Add(pkin_primary); + THcHodoEff* peff = new THcHodoEff("phodeff"," SHMS hodo efficiency","P.hod"); + gHaPhysics->Add(peff); + // Add Physics Module to calculate secondary (scattered) beam kinematics + // THcSecondaryKine* pkin_secondary = new THcSecondaryKine("P.kin.secondary", "SHMS Single Arm Kinematics", "P", "H.kin.primary"); + // gHaPhysics->Add(pkin_secondary); + // Add event handler for scaler events + // THcScalerEvtHandler* pscaler = new THcScalerEvtHandler("P", "Hall C scaler event type 1"); + //pscaler->AddEvtType(1); + //pscaler->AddEvtType(4); + //pscaler->AddEvtType(5); + //pscaler->AddEvtType(6); + //pscaler->AddEvtType(7); + //pscaler->AddEvtType(129); + //pscaler->SetDelayedType(129); + //pscaler->SetUseFirstEvent(kTRUE); + //gHaEvtHandlers->Add(pscaler); + + //=:=:= + // HMS + //=:=:= + + // Set up the equipment to be analyzed. + THcHallCSpectrometer* HMS = new THcHallCSpectrometer("H", "HMS"); + HMS->SetEvtType(2); + HMS->AddEvtType(4); + HMS->AddEvtType(5); + HMS->AddEvtType(6); + HMS->AddEvtType(7); + gHaApps->Add(HMS); + // Add drift chambers to HMS apparatus + THcDC* hdc = new THcDC("dc", "Drift Chambers"); + HMS->AddDetector(hdc); + // Add hodoscope to HMS apparatus + THcHodoscope* hhod = new THcHodoscope("hod", "Hodoscope"); + HMS->AddDetector(hhod); + // Add Cherenkov to HMS apparatus + THcCherenkov* hcer = new THcCherenkov("cer", "Heavy Gas Cherenkov"); + HMS->AddDetector(hcer); + // Add Aerogel Cherenkov to HMS apparatus + //THcAerogel* aero = new THcAerogel("aero", "Aerogel"); + //HMS->AddDetector(aero); + // Add calorimeter to HMS apparatus + THcShower* hcal = new THcShower("cal", "Calorimeter"); + HMS->AddDetector(hcal); + + // Include golden track information + THaGoldenTrack* hgtr = new THaGoldenTrack("H.gtr", "HMS Golden Track", "H"); + gHaPhysics->Add(hgtr); + // Add Rastered Beam Apparatus + THaApparatus* hbeam = new THcRasteredBeam("H.rb", "HMS Rastered Beamline"); + gHaApps->Add(hbeam); + THaReactionPoint* hrp= new THaReactionPoint("H.react"," HMS reaction point","H","H.rb"); + gHaPhysics->Add(hrp); + THcExtTarCor* hext = new THcExtTarCor("H.extcor"," HMS extended target corrections","H","H.react"); + gHaPhysics->Add(hext); + // Add Physics Module to calculate primary (scattered) beam kinematics + // THcPrimaryKine* hkin_primary = new THcPrimaryKine("H.kin.primary", "HMS Single Arm Kinematics", "H", "H.rb"); + // gHaPhysics->Add(hkin_primary); + // Add Physics Module to calculate secondary (scattered) beam kinematics + THcSecondaryKine* hkin_secondary = new THcSecondaryKine("H.kin.secondary", "HMS Single Arm Kinematics", "H", "P.kin.primary"); + gHaPhysics->Add(hkin_secondary); + THcHodoEff* heff = new THcHodoEff("hhodeff"," HMS hodo efficiency","H.hod"); + gHaPhysics->Add(heff); + // Add event handler for scaler events + //THcScalerEvtHandler *hscaler = new THcScalerEvtHandler("H", "Hall C scaler event type 4"); + //hscaler->AddEvtType(2); + //hscaler->AddEvtType(4); + //pscaler->AddEvtType(5); + //pscaler->AddEvtType(6); + //pscaler->AddEvtType(7); + //hscaler->AddEvtType(129); + //hscaler->SetDelayedType(129); + //hscaler->SetUseFirstEvent(kTRUE); + //gHaEvtHandlers->Add(hscaler); + + //=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= + // Global Objects & Event Handlers + //=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= + + // Add trigger apparatus + THaApparatus* TRG = new THcTrigApp("T", "TRG"); + gHaApps->Add(TRG); + // Add trigger detector to trigger apparatus + THcTrigDet* coin = new THcTrigDet("coin", "Coincidence Trigger Information"); + // Suppress missing reference time warnings for these event types + coin->SetEvtType(1); + coin->AddEvtType(2); + TRG->AddDetector(coin); + // Add event handler for prestart event 125. + THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125"); + gHaEvtHandlers->Add(ev125); + // Add event handler for EPICS events + THaEpicsEvtHandler* hcepics = new THaEpicsEvtHandler("epics", "HC EPICS event type 180"); + gHaEvtHandlers->Add(hcepics); + + // Set up the analyzer - we use the standard one, + // but this could be an experiment-specific one as well. + // The Analyzer controls the reading of the data, executes + // tests/cuts, loops over Acpparatus's and PhysicsModules, + // and executes the output routines. + THcAnalyzer* analyzer = new THcAnalyzer; + + // A simple event class to be output to the resulting tree. + // Creating your own descendant of THaEvent is one way of + // defining and controlling the output. + THaEvent* event = new THaEvent; + + // Define the run(s) that we want to analyze. + // We just set up one, but this could be many. + THcRun* run = new THcRun( pathList, Form(RunFileNamePattern, RunNumber) ); + + // Set to read in Hall C run database parameters + run->SetRunParamClass("THcRunParameters"); + + // Eventually need to learn to skip over, or properly analyze + // the pedestal events + run->SetEventRange(1, MaxEvent); // Physics Event number, does not + // include scaler or control events. + run->SetNscan(1); + run->SetDataRequired(0x7); + run->Print(); + + // Define the analysis parameters + TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber, MaxEvent); + analyzer->SetCountMode(2); // 0 = counter is # of physics triggers + // 1 = counter is # of all decode reads + // 2 = counter is event number + analyzer->SetEvent(event); + // Set EPICS event type + analyzer->SetEpicsEvtType(180); + // Define crate map + analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat"); + // Define output ROOT file + analyzer->SetOutFile(ROOTFileName.Data()); + // Define DEF-file+ + analyzer->SetOdefFile("DEF-files/COIN/PRODUCTION/coin_production_ep.def"); + // Define cuts file + analyzer->SetCutFile("DEF-files/COIN/PRODUCTION/coin_production_ep_cuts.def"); // optional + // File to record accounting information for cuts + analyzer->SetSummaryFile(Form("REPORT_OUTPUT/COIN/PRODUCTION/summary_production_ep_%d.report", RunNumber)); // optional + // Start the actual analysis. + analyzer->Process(run); + // Create report file from template + analyzer->PrintReport("TEMPLATES/COIN/PRODUCTION/coin_production_ep.template", + Form("REPORT_OUTPUT/COIN/PRODUCTION/replay_coin_production_ep_%d.report", RunNumber)); // optional + +} diff --git a/SCRIPTS/COIN/SCALERS/replay_coin_scalers.C b/SCRIPTS/COIN/SCALERS/replay_coin_scalers.C new file mode 100644 index 0000000000000000000000000000000000000000..2a171dc4d1471fa86e9ed47f5b1be4c8daacc293 --- /dev/null +++ b/SCRIPTS/COIN/SCALERS/replay_coin_scalers.C @@ -0,0 +1,150 @@ +void replay_coin_scalers (Int_t RunNumber = 0, Int_t MaxEvent = 0) { + + // Get RunNumber and MaxEvent if not provided. + if(RunNumber == 0) { + cout << "Enter a Run Number (-1 to exit): "; + cin >> RunNumber; + if( RunNumber<=0 ) return; + } + if(MaxEvent == 0) { + cout << "\nNumber of Events to analyze: "; + cin >> MaxEvent; + if(MaxEvent == 0) { + cerr << "...Invalid entry\n"; + exit; + } + } + + // Create file name patterns. + const char* RunFileNamePattern = "coin_all_%05d.dat"; + vector<TString> pathList; + pathList.push_back("."); + pathList.push_back("./raw"); + pathList.push_back("./raw/../raw.copiedtotape"); + pathList.push_back("./cache"); + + const char* ROOTFileNamePattern = "ROOTfiles/coin_replay_scalers_%d_%d.root"; + + // Load global parameters + // Add variables to global list. + gHcParms->Define("gen_run_number", "Run Number", RunNumber); + gHcParms->AddString("g_ctp_database_filename", "DBASE/COIN/STD/standard.database"); + // Load varibles from files to global list. + gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); + // g_ctp_parm_filename and g_decode_map_filename should now be defined. + gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber); + gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename")); + gHcParms->Load(gHcParms->GetString("g_ctp_calib_filename")); + // Load params for SHMS coin configuration + gHcParms->Load("PARAM/TRIG/tcoin.param"); + // Load the Hall C detector map + gHcDetectorMap = new THcDetectorMap(); + gHcDetectorMap->Load("MAPS/COIN/DETEC/coin.map"); + gHcParms->Load("PARAM/SHMS/GEN/p_fadc_debug.param"); + gHcParms->Load("PARAM/HMS/GEN/h_fadc_debug.param"); + + // Add trigger apparatus + THaApparatus* TRG = new THcTrigApp("T", "TRG"); + gHaApps->Add(TRG); + // Add trigger detector to trigger apparatus + THcTrigDet* coin = new THcTrigDet("coin", "Coincidence Trigger Information"); + // Suppress missing reference time warnings for these event types + coin->SetEvtType(1); + coin->AddEvtType(2); + TRG->AddDetector(coin); + + THcHallCSpectrometer* SHMS = new THcHallCSpectrometer("P", "SHMS"); + SHMS->SetEvtType(1); + SHMS->AddEvtType(4); + SHMS->AddEvtType(5); + SHMS->AddEvtType(6); + SHMS->AddEvtType(7); + gHaApps->Add(SHMS); + THcHallCSpectrometer* HMS = new THcHallCSpectrometer("H", "HMS"); + HMS->SetEvtType(2); + HMS->AddEvtType(4); + HMS->AddEvtType(5); + HMS->AddEvtType(6); + HMS->AddEvtType(7); + gHaApps->Add(HMS); + + // Add handler for EPICS events + THaEpicsEvtHandler *hcepics = new THaEpicsEvtHandler("epics", "HC EPICS event type 180"); + gHaEvtHandlers->Add(hcepics); + // Add handler for scaler events + THcScalerEvtHandler *pscaler = new THcScalerEvtHandler("P","Hall C scaler event type 1"); + pscaler->AddEvtType(1); + pscaler->AddEvtType(2); + pscaler->AddEvtType(4); + pscaler->AddEvtType(5); + pscaler->AddEvtType(6); + pscaler->AddEvtType(7); + pscaler->AddEvtType(129); + pscaler->SetDelayedType(129); + pscaler->SetUseFirstEvent(kTRUE); + gHaEvtHandlers->Add(pscaler); + // Add handler for scaler events + THcScalerEvtHandler *hscaler = new THcScalerEvtHandler("H","Hall C scaler event type 1"); + hscaler->AddEvtType(1); + hscaler->AddEvtType(2); + hscaler->AddEvtType(4); + hscaler->AddEvtType(5); + hscaler->AddEvtType(6); + hscaler->AddEvtType(7); + hscaler->AddEvtType(129); + hscaler->SetDelayedType(129); + hscaler->SetUseFirstEvent(kTRUE); + gHaEvtHandlers->Add(hscaler); + // 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. + // The Analyzer controls the reading of the data, executes + // tests/cuts, loops over Acpparatus's and PhysicsModules, + // and executes the output routines. + THcAnalyzer* analyzer = new THcAnalyzer; + + // A simple event class to be output to the resulting tree. + // Creating your own descendant of THaEvent is one way of + // defining and controlling the output. + THaEvent* event = new THaEvent; + + // Define the run(s) that we want to analyze. + // We just set up one, but this could be many. + THcRun* run = new THcRun( pathList, Form(RunFileNamePattern, RunNumber) ); + + // Eventually need to learn to skip over, or properly analyze + // the pedestal events + run->SetEventRange(1, MaxEvent); // Physics Event number, does not + // include scaler or control events. + run->SetNscan(1); + run->SetDataRequired(0x7); + run->Print(); + + // Define the analysis parameters + TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber, MaxEvent); + analyzer->SetCountMode(2); // 0 = counter is # of physics triggers + // 1 = counter is # of all decode reads + // 2 = counter is event number + analyzer->SetEvent(event); + // Set EPICS event type + analyzer->SetEpicsEvtType(180); + // Define crate map + analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat"); + // Define output ROOT file + analyzer->SetOutFile(ROOTFileName.Data()); + // Define DEF-file + analyzer->SetOdefFile("DEF-files/COIN/EPICS/epics_short.def"); + // Define cuts file + analyzer->SetCutFile("DEF-files/COIN/SCALERS/coinscaler_cuts.def"); // optional + // File to record accounting information for cuts + analyzer->SetSummaryFile(Form("REPORT_OUTPUT/COIN/SCALERS/summary_scalers_%d_%d.report", RunNumber, MaxEvent)); // optional + // Start the actual analysis. + analyzer->Process(run); + // Create report file from template + analyzer->PrintReport("TEMPLATES/COIN/SCALERS/coinscalers.template", + Form("REPORT_OUTPUT/COIN/SCALERS/replay_coin_scalers_%d_%d.report", RunNumber, MaxEvent)); // optional + +} diff --git a/TEMPLATES/COIN/PRODUCTION/coin_production_ep.template b/TEMPLATES/COIN/PRODUCTION/coin_production_ep.template new file mode 100644 index 0000000000000000000000000000000000000000..c352e92c0851a35500446388ae67b26d38788e59 --- /dev/null +++ b/TEMPLATES/COIN/PRODUCTION/coin_production_ep.template @@ -0,0 +1,28 @@ +Run #: {gen_run_number} + + +1 MhZ Pulses : {P.1Mhz.scaler} +Run Length : {P.1Mhz.scalerTime:%.3f} sec + +*********** +* Beamline +*********** + +BCM1 Current: {P.BCM1.scalerCurrent:%.3f} uA +BCM2 Current: {P.BCM2.scalerCurrent:%.3f} uA +Unser Current: {P.Unser.scalerCurrent:%.3f} uA + +With no cuts on BCM{gBCM_Current_threshold_index+1}. +BCM1 Counts: {P.BCM1.scaler} Total Charge: {P.BCM1.scalerCharge:%.3f} uC +BCM2 Counts: {P.BCM2.scaler} Total Charge: {P.BCM2.scalerCharge:%.3f} uC +Unser Counts: {P.Unser.scaler} Total 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 Counts: {P.BCM1.scalerCut} Total Charge: {P.BCM1.scalerChargeCut:%.3f} uC +BCM2 Counts: {P.BCM2.scalerCut} Total Charge: {P.BCM2.scalerChargeCut:%.3f} uC +Unser Counts: {P.Unser.scalerCut} Total Charge: {P.Unser.scalerChargeCut:%.3f} uC + +HMS Singles Triggers : {HMS_event.npassed} +SHMS Singles Triggers : {SHMS_event.npassed} +Coincidence Triggers : {COIN_event.npassed} +All triggers : {ALL_events.npassed} \ No newline at end of file diff --git a/TEMPLATES/COIN/SCALERS/coinscalers.template b/TEMPLATES/COIN/SCALERS/coinscalers.template new file mode 100644 index 0000000000000000000000000000000000000000..3a15cb56ecf90e2bb1f66a8d929b1484e34f9448 --- /dev/null +++ b/TEMPLATES/COIN/SCALERS/coinscalers.template @@ -0,0 +1,386 @@ +Run number: {gen_run_number} + +************************** +* General Run Information +************************** + +Beam energy : {gpbeam} +Target mass (amu) : {gtargmass_amu} + +HMS Particle Mass : {hpartmass} +HMS P Central : {hpcentral} +HMS Angle : {htheta_lab} + +SHMS Particle Mass : {ppartmass} +SHMS P Central : {ppcentral} +SHMS Angle : {ptheta_lab} + +SHMS Run Length : {P.1Mhz.scalerTime:%.3f} sec + +HMS Run Length : {H.1Mhz.scalerTime:%.3f} sec + +*********** +* Beamline +*********** + +SHMS BCM1 Current: {P.BCM1.scalerCharge/P.1Mhz.scalerTime:%.3f} uA +SHMS BCM2 Current: {P.BCM2.scalerCharge/P.1Mhz.scalerTime:%.3f} uA +SHMS Unser Current: {P.Unser.scalerCharge/P.1Mhz.scalerTime:%.3f} uA + +With no cuts on BCM{gBCM_Current_threshold_index+1}. +SHMS BCM1 Total Charge: {P.BCM1.scalerCharge:%.3f} uC +SHMS BCM2 Total Charge: {P.BCM2.scalerCharge:%.3f} uC +SHMS BCM2 Total 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. +SHMS Beam Cut Time (sec) : {P.1Mhz.scalerTimeCut:%.3f} +SHMS Beam Cut BCM1 Total Charge: {P.BCM1.scalerChargeCut:%.3f} uC +SHMS Beam Cut BCM1 Total Charge: {P.BCM2.scalerChargeCut:%.3f} uC +SHMS Beam Cut Total Charge: {P.Unser.scalerChargeCut:%.3f} uC +SHMS Beam Cut BCM1 Current: {P.BCM1.scalerChargeCut/P.1Mhz.scalerTimeCut:%.3f} uA +SHMS Beam Cut BCM2 Current: {P.BCM2.scalerChargeCut/P.1Mhz.scalerTimeCut:%.3f} uA +SHMS Beam Cut Unser Current: {P.Unser.scalerChargeCut/P.1Mhz.scalerTimeCut:%.3f} uA + +HMS BCM1 Current: {H.BCM1.scalerCharge/H.1Mhz.scalerTime:%.3f} uA +HMS BCM2 Current: {H.BCM2.scalerCharge/H.1Mhz.scalerTime:%.3f} uA +HMS Unser Current: {H.Unser.scalerCharge/H.1Mhz.scalerTime:%.3f} uA + +With no cuts on BCM{gBCM_Current_threshold_index+1}. +HMS BCM1 Counts: {H.BCM1.scaler} +HMS BCM1 Total Charge: {H.BCM1.scalerCharge:%.3f} uC +HMS BCM2 Counts: {H.BCM2.scaler} +HMS BCM2 Total Charge: {H.BCM2.scalerCharge:%.3f} uC +HMS BCM2 Unser Counts: {H.Unser.scaler} +HMS BCM2 Total Charge: {H.Unser.scalerCharge:%.3f} uC + +Cut on BCM{gBCM_Current_threshold_index+1} current of {gBCM_Current_threshold} uA. Beam over threshold for {H.1Mhz.scalerTimeCut:%.3f}s, or {((H.1Mhz.scalerTimeCut/H.1Mhz.scalerTime)*100.):%.3f}% of total run time. +HMS Beam Cut BCM1 Counts: {H.BCM1.scalerCut} +HMS Beam Cut BCM1 Total Charge: {H.BCM1.scalerChargeCut:%.3f} uC +HMS Beam Cut BCM2 Counts: {H.BCM2.scalerCut} +HMS Beam Cut BCM1 Total Charge: {H.BCM2.scalerChargeCut:%.3f} uC +HMS Beam Cut Unser Counts: {H.Unser.scalerCut} +HMS Beam Cut Total Charge: {H.Unser.scalerChargeCut:%.3f} uC +HMS Beam Cut BCM1 Current: {H.BCM1.scalerChargeCut/H.1Mhz.scalerTime:%.3f} uA +HMS Beam Cut BCM2 Current: {H.BCM2.scalerChargeCut/H.1Mhz.scalerTime:%.3f} uA +HMS Beam Cut Unser Current: {H.Unser.scalerChargeCut/H.1Mhz.scalerTime:%.3f} uA + +******************** +* DAQ Configuration +******************** + +Ps1_factor : {gpconfig_ti_ps_factors[0]} +Ps2_factor : {gpconfig_ti_ps_factors[1]} +Ps3_factor : {gpconfig_ti_ps_factors[2]} +Ps4_factor : {gpconfig_ti_ps_factors[3]} +Ps5_factor : {gpconfig_ti_ps_factors[4]} +Ps6_factor : {gpconfig_ti_ps_factors[5]} + +*********** +* Triggers +*********** + +=:=:=:=:=:=:=: += 3/4 Trigger +=:=:=:=:=:=:=: + +Total SHMS 3/4 Triggers : {P.pTRIG1.scaler} +Pre-Scaled SHMS 3/4 Triggers : {(P.pTRIG1.scaler/gpconfig_ti_ps_factors[0]):%.0f} +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 : {pTRIG1_ROC2.npassed} +SHMS Event Types : {SHMS_Pretrig.npassed} + +=:=:=:=:=:=:=:=:=:=:=:=: += Physics 3/4 Triggers +=:=:=:=:=:=:=:=:=:=:=:=: + +SHMS Physics 3/4 Triggers : {P.pTRIG1.scaler - P.EDTM.scaler} +SHMS Estimated Physics 3/4 Triggers : {(P.pTRIG1.scalerRate - P.EDTM.scalerRate)*(P.1Mhz.scaler/1000000.):%.0f} +SHMS Physics 3/4 Trigger Rate : {(P.pTRIG1.scalerRate - P.EDTM.scalerRate)/1000.:%.3f} kHz +SHMS Accepted Physics Triggers : {SHMS_physics_accepted.npassed} + +=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=: += Coin Trigger TDC Data scalers +=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=: + +Coin ROC2 pTRIG1 passed: {pTRIG1_ROC2.npassed} +Coin ROC2 pTRIG2 passed: {pTRIG2_ROC2.npassed} +Coin ROC2 pTRIG3 passed: {pTRIG3_ROC2.npassed} +Coin ROC2 pTRIG4 passed: {pTRIG4_ROC2.npassed} +Coin ROC2 pTRIG5 passed: {pTRIG5_ROC2.npassed} +Coin ROC2 pTRIG6 passed: {pTRIG6_ROC2.npassed} + +Coin ROC1 pTRIG1 passed: {pTRIG1_ROC1.npassed} +Coin ROC1 pTRIG2 passed: {pTRIG2_ROC1.npassed} +Coin ROC1 pTRIG3 passed: {pTRIG3_ROC1.npassed} +Coin ROC1 pTRIG4 passed: {pTRIG4_ROC1.npassed} +Coin ROC1 pTRIG5 passed: {pTRIG5_ROC1.npassed} +Coin ROC1 pTRIG6 passed: {pTRIG6_ROC1.npassed} + +=:=:=:=:=:=:=:=:=:=:=: += HMS Trigger Scalers +=:=:=:=:=:=:=:=:=:=:=: + +HMS_hEL_LO_LO : {H.hEL_LO_LO.scaler} [ {(H.hEL_LO_LO.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] +HMS_hEL_LO : {H.hEL_LO.scaler} [ {(H.hEL_LO.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] +HMS_hEL_HI : {H.hEL_HI.scaler} [ {(H.hEL_HI.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] +HMS_hEL_REAL : {H.hEL_REAL.scaler} [ {(H.hEL_REAL.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] +HMS_hEL_CLEAN : {H.hEL_CLEAN.scaler} [ {(H.hEL_CLEAN.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] +HMS_hSTOF : {H.hSTOF.scaler} [ {(H.hSTOF.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] + +HMS_hTRIG1 : {H.hTRIG1.scaler} [ {(H.hTRIG1.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] +HMS_hTRIG2 : {H.hTRIG2.scaler} [ {(H.hTRIG2.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] +HMS_hTRIG3 : {H.hTRIG3.scaler} [ {(H.hTRIG3.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] +HMS_hTRIG4 : {H.hTRIG4.scaler} [ {(H.hTRIG4.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] +HMS_hTRIG5 : {H.hTRIG5.scaler} [ {(H.hTRIG5.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] +HMS_hTRIG6 : {H.hTRIG6.scaler} [ {(H.hTRIG6.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] + +HMS_pTRIG1 : {H.pTRIG1.scaler} [ {(H.pTRIG1.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] +HMS_pTRIG2 : {H.pTRIG2.scaler} [ {(H.pTRIG2.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] +HMS_pTRIG3 : {H.pTRIG3.scaler} [ {(H.pTRIG3.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] +HMS_pTRIG4 : {H.pTRIG4.scaler} [ {(H.pTRIG4.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] +HMS_pTRIG5 : {H.pTRIG5.scaler} [ {(H.pTRIG5.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] +HMS_pTRIG6 : {H.pTRIG6.scaler} [ {(H.pTRIG6.scaler/H.1Mhz.scalerTime)/1000.:%.3f} kHz ] + +=:=:=:=:=:=:=:=:=:=:=:=: += SHMS Trigger Scalers +=:=:=:=:=:=:=:=:=:=:=:=: + +SHMS_pEL_LO_LO : {P.pEL_LO_LO.scaler} [ {(P.pEL_LO_LO.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +SHMS_pEL_LO : {P.pEL_LO.scaler} [ {(P.pEL_LO.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +SHMS_pEL_HI : {P.pEL_HI.scaler} [ {(P.pEL_HI.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +SHMS_pEL_REAL : {P.pEL_REAL.scaler} [ {(P.pEL_REAL.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +SHMS_pEL_CLEAN : {P.pEL_CLEAN.scaler} [ {(P.pEL_CLEAN.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +SHMS_pSTOF : {P.pSTOF.scaler} [ {(P.pSTOF.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] + +SHMS_pTRIG1 : {P.pTRIG1.scaler} [ {(P.pTRIG1.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +SHMS_pTRIG2 : {P.pTRIG2.scaler} [ {(P.pTRIG2.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +SHMS_pTRIG3 : {P.pTRIG3.scaler} [ {(P.pTRIG3.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +SHMS_pTRIG4 : {P.pTRIG4.scaler} [ {(P.pTRIG4.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +SHMS_pTRIG5 : {P.pTRIG5.scaler} [ {(P.pTRIG5.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +SHMS_pTRIG6 : {P.pTRIG6.scaler} [ {(P.pTRIG6.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] + +SHMS_hTRIG1 : {P.hTRIG1.scaler} [ {(P.hTRIG1.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +SHMS_hTRIG2 : {P.hTRIG2.scaler} [ {(P.hTRIG2.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +SHMS_hTRIG3 : {P.hTRIG3.scaler} [ {(P.hTRIG3.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +SHMS_hTRIG4 : {P.hTRIG4.scaler} [ {(P.hTRIG4.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +SHMS_hTRIG5 : {P.hTRIG5.scaler} [ {(P.hTRIG5.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +SHMS_hTRIG6 : {P.hTRIG6.scaler} [ {(P.hTRIG6.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] + +=:=:=:=: += EDTM +=:=:=:=: + +SHMS EDTM Triggers : {P.EDTM.scaler} +SHMS Estimated EDTM Triggers : {P.EDTM.scalerRate*(P.1Mhz.scaler/1000000.):%.0f} +SHMS EDTM Trigger Rate : {P.EDTM.scalerRate/1000.:%.3f} kHz +SHMS Accepted EDTM Triggers : {SHMS_edtm_accepted.npassed} + +HMS EDTM Triggers : {H.EDTM.scaler} +HMS Estimated EDTM Triggers : {H.EDTM.scalerRate*(H.1Mhz.scaler/1000000.):%.0f} +HMS EDTM Trigger Rate : {H.EDTM.scalerRate/1000.:%.3f} kHz +HMS Accepted EDTM Triggers : {HMS_edtm_accepted.npassed} + +=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=: += Live/Dead Time Calculations +=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=: + +ROC2 Pre-Scaled Ps1 ROC2 Computer Live Time : {(pTRIG1_ROC2.npassed / (P.pTRIG1.scaler/gpconfig_ti_ps_factors[0]))*100.0:%3.4f} % +ROC2 Pre-Scaled Ps1 ROC2 Computer Dead Time : {100.0 - (pTRIG1_ROC2.npassed / (P.pTRIG1.scaler/gpconfig_ti_ps_factors[0]))*100.0:%3.4f} % + +ROC2 Pre-Scaled Ps2 ROC2 Computer Live Time : {(pTRIG2_ROC2.npassed / (P.pTRIG2.scaler/gpconfig_ti_ps_factors[1]))*100.0:%3.4f} % +ROC2 Pre-Scaled Ps2 ROC2 Computer Dead Time : {100.0 - (pTRIG2_ROC2.npassed / (P.pTRIG2.scaler/gpconfig_ti_ps_factors[1]))*100.0:%3.4f} % + +ROC2 Pre-Scaled Ps3 ROC2 Computer Live Time : {(pTRIG3_ROC2.npassed / (P.pTRIG3.scaler/gpconfig_ti_ps_factors[2]))*100.0:%3.4f} % +ROC2 Pre-Scaled Ps3 ROC2 Computer Dead Time : {100.0 - (pTRIG3_ROC2.npassed / (P.pTRIG3.scaler/gpconfig_ti_ps_factors[2]))*100.0:%3.4f} % + +ROC2 Pre-Scaled Ps4 ROC2 Computer Live Time : {(pTRIG4_ROC2.npassed / (P.pTRIG4.scaler/gpconfig_ti_ps_factors[3]))*100.0:%3.4f} % +ROC2 Pre-Scaled Ps4 ROC2 Computer Dead Time : {100.0 - (pTRIG4_ROC2.npassed / (P.pTRIG4.scaler/gpconfig_ti_ps_factors[3]))*100.0:%3.4f} % + +ROC2 Pre-Scaled Ps6 ROC2 Computer Live Time : {(pTRIG6_ROC2.npassed / (P.pTRIG6.scaler/gpconfig_ti_ps_factors[5]))*100.0:%3.4f} % +ROC2 Pre-Scaled Ps6 ROC2 Computer Dead Time : {100.0 - (pTRIG6_ROC2.npassed / (P.pTRIG6.scaler/gpconfig_ti_ps_factors[5]))*100.0:%3.4f} % + +ROC2 Pre-Scaled Ps1 Total Live Time (EDTM) : {(SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gpconfig_ti_ps_factors[0]))*100.0:%3.4f} % +ROC2 Pre-Scaled Ps1 Total Dead Time (EDTM) : {100.0 - (SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gpconfig_ti_ps_factors[0]))*100.0:%3.4f} % + +ROC2 Pre-Scaled Ps2 Total Live Time (EDTM) : {(SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gpconfig_ti_ps_factors[1]))*100.0:%3.4f} % +ROC2 Pre-Scaled Ps2 Total Dead Time (EDTM) : {100.0 - (SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gpconfig_ti_ps_factors[1]))*100.0:%3.4f} % + +ROC2 Pre-Scaled Ps3 Total Live Time (EDTM) : {(SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gpconfig_ti_ps_factors[2]))*100.0:%3.4f} % +ROC2 Pre-Scaled Ps3 Total Dead Time (EDTM) : {100.0 - (SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gpconfig_ti_ps_factors[2]))*100.0:%3.4f} % + +ROC2 Pre-Scaled Ps4 Total Live Time (EDTM) : {(SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gpconfig_ti_ps_factors[3]))*100.0:%3.4f} % +ROC2 Pre-Scaled Ps4 Total Dead Time (EDTM) : {100.0 - (SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gpconfig_ti_ps_factors[3]))*100.0:%3.4f} % + +ROC2 Pre-Scaled Ps6 Total Live Time (EDTM) : {(SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gpconfig_ti_ps_factors[5]))*100.0:%3.4f} % +ROC2 Pre-Scaled Ps6 Total Dead Time (EDTM) : {100.0 - (SHMS_edtm_accepted.npassed / (P.EDTM.scaler/gpconfig_ti_ps_factors[5]))*100.0:%3.4f} % + +ROC2 OG 6 GeV Electronic Live Time (100, 150) : {100.0 - ((P.pPRE100.scaler - P.pPRE150.scaler)/P.pPRE100.scaler):%3.4f} % +ROC2 OG 6 GeV Electronic Dead Time (100, 150) : {((P.pPRE100.scaler - P.pPRE150.scaler)/P.pPRE100.scaler):%3.4f} % + +ROC2 OG 6 GeV Electronic Live Time (100, 200) : {100.0 - ((P.pPRE100.scaler - P.pPRE200.scaler)/P.pPRE100.scaler):%3.4f} % +ROC2 OG 6 GeV Electronic Dead Time (100, 200) : {((P.pPRE100.scaler - P.pPRE200.scaler)/P.pPRE100.scaler):%3.4f} % + +ROC2 OG 6 GeV Electronic Live Time (150, 200) : {100.0 - ((P.pPRE150.scaler - P.pPRE200.scaler)/P.pPRE150.scaler):%3.4f} % +ROC2 OG 6 GeV Electronic Dead Time (150, 200) : {((P.pPRE150.scaler - P.pPRE200.scaler)/P.pPRE150.scaler):%3.4f} % + +=:=:=:=:=:=:=:=:=: += SHMS Hodoscopes +=:=:=:=:=:=:=:=:=: + +P1X : {P.S1X.scaler} [ {(P.S1X.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] AND between + and - sides of P1X +P1Y : {P.S1Y.scaler} [ {(P.S1Y.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] AND between + and - sides of P1Y +P2X : {P.S2X.scaler} [ {(P.S2X.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] AND between + and - sides of P2X +P2Y : {P.S2Y.scaler} [ {(P.S2Y.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] AND between + and - sides of P2Y + +P1XP1Y : {P.S1XS1Y.scaler} [ {(P.S1XS1Y.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] AND between P1X and P1Y planes +P2XP2Y : {P.S2XS2Y.scaler} [ {(P.S2XS2Y.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] AND between P2X and P2Y planes + +=:=:=:=:=:=:=:=:=:=:=:=:= += Aerogel, HGC, NGC, CAL +=:=:=:=:=:=:=:=:=:=:=:=:= + +AERO : {P.AERO.scaler} [ {(P.AERO.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] Aerogel sum currently not available +HGC : {P.HCER.scaler} [ {(P.HCER.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +NGC : {P.NCER.scaler} [ {(P.NCER.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +PRLO : {P.PRLO.scaler} [ {(P.PRLO.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +PRHI : {P.PRHI.scaler} [ {(P.PRHI.scaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] + +******************* +* Hardware Scalers +******************* + +=:=:=:=:=:=:=: += HODOSCOPES +=:=:=:=:=:=:=: + +Scint Counts Rate +P1X1+: {P.hod.1x1.posScaler} [ {(P.hod.1x1.posScalerRate/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X2+: {P.hod.1x2.posScaler} [ {(P.hod.1x2.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X3+: {P.hod.1x3.posScaler} [ {(P.hod.1x3.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X4+: {P.hod.1x4.posScaler} [ {(P.hod.1x4.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X5+: {P.hod.1x5.posScaler} [ {(P.hod.1x5.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X6+: {P.hod.1x6.posScaler} [ {(P.hod.1x6.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X7+: {P.hod.1x7.posScaler} [ {(P.hod.1x7.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X8+: {P.hod.1x8.posScaler} [ {(P.hod.1x8.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X9+: {P.hod.1x9.posScaler} [ {(P.hod.1x9.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X10+: {P.hod.1x10.posScaler} [ {(P.hod.1x10.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X11+: {P.hod.1x11.posScaler} [ {(P.hod.1x11.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X12+: {P.hod.1x12.posScaler} [ {(P.hod.1x12.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X13+: {P.hod.1x13.posScaler} [ {(P.hod.1x13.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] + +P1X1-: {P.hod.1x1.negScaler} [ {(P.hod.1x1.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X2-: {P.hod.1x2.negScaler} [ {(P.hod.1x2.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X3-: {P.hod.1x3.negScaler} [ {(P.hod.1x3.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X4-: {P.hod.1x4.negScaler} [ {(P.hod.1x4.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X5-: {P.hod.1x5.negScaler} [ {(P.hod.1x5.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X6-: {P.hod.1x6.negScaler} [ {(P.hod.1x6.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X7-: {P.hod.1x7.negScaler} [ {(P.hod.1x7.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X8-: {P.hod.1x8.negScaler} [ {(P.hod.1x8.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X9-: {P.hod.1x9.negScaler} [ {(P.hod.1x9.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X10-: {P.hod.1x10.negScaler} [ {(P.hod.1x10.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X11-: {P.hod.1x11.negScaler} [ {(P.hod.1x11.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X12-: {P.hod.1x12.negScaler} [ {(P.hod.1x12.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1X13-: {P.hod.1x13.negScaler} [ {(P.hod.1x13.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] + +P1Y1+: {P.hod.1y1.posScaler} [ {(P.hod.1y1.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y2+: {P.hod.1y2.posScaler} [ {(P.hod.1y2.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y3+: {P.hod.1y3.posScaler} [ {(P.hod.1y3.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y4+: {P.hod.1y4.posScaler} [ {(P.hod.1y4.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y5+: {P.hod.1y5.posScaler} [ {(P.hod.1y5.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y6+: {P.hod.1y6.posScaler} [ {(P.hod.1y6.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y7+: {P.hod.1y7.posScaler} [ {(P.hod.1y7.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y8+: {P.hod.1y8.posScaler} [ {(P.hod.1y8.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y9+: {P.hod.1y9.posScaler} [ {(P.hod.1y9.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y10+: {P.hod.1y10.posScaler} [ {(P.hod.1y10.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y11+: {P.hod.1y11.posScaler} [ {(P.hod.1y11.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y12+: {P.hod.1y12.posScaler} [ {(P.hod.1y12.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y13+: {P.hod.1y13.posScaler} [ {(P.hod.1y13.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] + +P1Y1-: {P.hod.1y1.negScaler} [ {(P.hod.1y1.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y2-: {P.hod.1y2.negScaler} [ {(P.hod.1y2.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y3-: {P.hod.1y3.negScaler} [ {(P.hod.1y3.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y4-: {P.hod.1y4.negScaler} [ {(P.hod.1y4.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y5-: {P.hod.1y5.negScaler} [ {(P.hod.1y5.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y6-: {P.hod.1y6.negScaler} [ {(P.hod.1y6.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y7-: {P.hod.1y7.negScaler} [ {(P.hod.1y7.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y8-: {P.hod.1y8.negScaler} [ {(P.hod.1y8.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y9-: {P.hod.1y9.negScaler} [ {(P.hod.1y9.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y10-: {P.hod.1y10.negScaler} [ {(P.hod.1y10.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y11-: {P.hod.1y11.negScaler} [ {(P.hod.1y11.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y12-: {P.hod.1y12.negScaler} [ {(P.hod.1y12.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P1Y13-: {P.hod.1y13.negScaler} [ {(P.hod.1y13.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] + +P2X1+: {P.hod.2x1.posScaler} [ {(P.hod.2x1.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X2+: {P.hod.2x2.posScaler} [ {(P.hod.2x2.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X3+: {P.hod.2x3.posScaler} [ {(P.hod.2x3.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X4+: {P.hod.2x4.posScaler} [ {(P.hod.2x4.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X5+: {P.hod.2x5.posScaler} [ {(P.hod.2x5.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X6+: {P.hod.2x6.posScaler} [ {(P.hod.2x6.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X7+: {P.hod.2x7.posScaler} [ {(P.hod.2x7.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X8+: {P.hod.2x8.posScaler} [ {(P.hod.2x8.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X9+: {P.hod.2x9.posScaler} [ {(P.hod.2x9.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X10+: {P.hod.2x10.posScaler} [ {(P.hod.2x10.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X11+: {P.hod.2x11.posScaler} [ {(P.hod.2x11.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X12+: {P.hod.2x12.posScaler} [ {(P.hod.2x12.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X13+: {P.hod.2x13.posScaler} [ {(P.hod.2x13.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X14+: {P.hod.2x14.posScaler} [ {(P.hod.2x14.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] + +P2X1-: {P.hod.2x1.negScaler} [ {(P.hod.2x1.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X2-: {P.hod.2x2.negScaler} [ {(P.hod.2x2.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X3-: {P.hod.2x3.negScaler} [ {(P.hod.2x3.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X4-: {P.hod.2x4.negScaler} [ {(P.hod.2x4.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X5-: {P.hod.2x5.negScaler} [ {(P.hod.2x5.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X6-: {P.hod.2x6.negScaler} [ {(P.hod.2x6.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X7-: {P.hod.2x7.negScaler} [ {(P.hod.2x7.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X8-: {P.hod.2x8.negScaler} [ {(P.hod.2x8.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X9-: {P.hod.2x9.negScaler} [ {(P.hod.2x9.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X10-: {P.hod.2x10.negScaler} [ {(P.hod.2x10.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X11-: {P.hod.2x11.negScaler} [ {(P.hod.2x11.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X12-: {P.hod.2x12.negScaler} [ {(P.hod.2x12.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X13-: {P.hod.2x13.negScaler} [ {(P.hod.2x13.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2X14-: {P.hod.2x14.negScaler} [ {(P.hod.2x14.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] + +P2Y1+: {P.hod.2y1.posScaler} [ {(P.hod.2y1.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y2+: {P.hod.2y2.posScaler} [ {(P.hod.2y2.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y3+: {P.hod.2y3.posScaler} [ {(P.hod.2y3.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y4+: {P.hod.2y4.posScaler} [ {(P.hod.2y4.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y5+: {P.hod.2y5.posScaler} [ {(P.hod.2y5.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y6+: {P.hod.2y6.posScaler} [ {(P.hod.2y6.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y7+: {P.hod.2y7.posScaler} [ {(P.hod.2y7.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y8+: {P.hod.2y8.posScaler} [ {(P.hod.2y8.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y9+: {P.hod.2y9.posScaler} [ {(P.hod.2y9.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y10+: {P.hod.2y10.posScaler} [ {(P.hod.2y10.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y11+: {P.hod.2y11.posScaler} [ {(P.hod.2y11.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y12+: {P.hod.2y12.posScaler} [ {(P.hod.2y12.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y13+: {P.hod.2y13.posScaler} [ {(P.hod.2y13.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y14+: {P.hod.2y14.posScaler} [ {(P.hod.2y14.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y15+: {P.hod.2y15.posScaler} [ {(P.hod.2y15.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y16+: {P.hod.2y16.posScaler} [ {(P.hod.2y16.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y17+: {P.hod.2y17.posScaler} [ {(P.hod.2y17.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y18+: {P.hod.2y18.posScaler} [ {(P.hod.2y18.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y19+: {P.hod.2y19.posScaler} [ {(P.hod.2y19.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y20+: {P.hod.2y20.posScaler} [ {(P.hod.2y20.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y21+: {P.hod.2y21.posScaler} [ {(P.hod.2y21.posScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] + +P2Y1-: {P.hod.2y1.negScaler} [ {(P.hod.2y1.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y2-: {P.hod.2y2.negScaler} [ {(P.hod.2y2.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y3-: {P.hod.2y3.negScaler} [ {(P.hod.2y3.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y4-: {P.hod.2y4.negScaler} [ {(P.hod.2y4.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y5-: {P.hod.2y5.negScaler} [ {(P.hod.2y5.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y6-: {P.hod.2y6.negScaler} [ {(P.hod.2y6.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y7-: {P.hod.2y7.negScaler} [ {(P.hod.2y7.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y8-: {P.hod.2y8.negScaler} [ {(P.hod.2y8.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y9-: {P.hod.2y9.negScaler} [ {(P.hod.2y9.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y10-: {P.hod.2y10.negScaler} [ {(P.hod.2y10.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y11-: {P.hod.2y11.negScaler} [ {(P.hod.2y11.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y12-: {P.hod.2y12.negScaler} [ {(P.hod.2y12.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y13-: {P.hod.2y13.negScaler} [ {(P.hod.2y13.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y14-: {P.hod.2y14.negScaler} [ {(P.hod.2y14.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y15-: {P.hod.2y15.negScaler} [ {(P.hod.2y15.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y16-: {P.hod.2y16.negScaler} [ {(P.hod.2y16.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y17-: {P.hod.2y17.negScaler} [ {(P.hod.2y17.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y18-: {P.hod.2y18.negScaler} [ {(P.hod.2y18.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y19-: {P.hod.2y19.negScaler} [ {(P.hod.2y19.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y20-: {P.hod.2y20.negScaler} [ {(P.hod.2y20.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] +P2Y21-: {P.hod.2y21.negScaler} [ {(P.hod.2y21.negScaler/P.1Mhz.scalerTime)/1000.:%.3f} kHz ] \ No newline at end of file diff --git a/onlineGUI/CONFIG/SHMS/SCALERS/shms_scaler.cfg b/onlineGUI/CONFIG/SHMS/SCALERS/shms_scaler.cfg index e57e520e416d0b271990a4fc566b754d4436f842..106c2bfec0be71f4b8edaae896877d28ca7cbd10 100644 --- a/onlineGUI/CONFIG/SHMS/SCALERS/shms_scaler.cfg +++ b/onlineGUI/CONFIG/SHMS/SCALERS/shms_scaler.cfg @@ -1,6 +1,6 @@ -protorootfile ../ROOTfiles/shms_replay_scalers_XXXXX_10000.root +protorootfile ../ROOTfiles/shms_coin_replay_production_XXXXX_50000.root guicolor orange -canvassize 1600 800 +canvassize 800 800 newpage 2 3 title Trig rates macro UTIL/SHMS/SCALERS/plot_shms_scalers.C("uhScalTrigS1X","none")