GUI, Scripts And Analysis Code

From HELIOS Digital DAQ
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Overview

All the code for the GUI (edm), scripts, and analysis code are stored in the github

https://github.com/calemhoffman/digios

The folder structure is

Directory.png

The repository was clone to the DAQ (~/digios), the MAC (~/digios), the HeliosDB (~/digios), and the LCRC (under /lrcr/project/HELIOS ).

For each experiment, a new branch is created from the master branch. see How to Setup for a new experiment?

Design Philosophy

DesignPhilosophy.png

GUI

The GUI is build from EDM. All the GUI screens are stored in

digios/daq/edm/screens

There are 2 ways to edit the *.edl file.

  • edit as if text file.
  • open the HELIOSMain.edl, then use the middle mouse click.

Scripts

Some buttons on the GUI will call bash scripts from

digios/daq/edm/scripts

This location also included in the system PATH, so, all the script can be run anywhere.

The 2 main buttons to use on the GUI are the Start RUN and Stop RUN, they trigger following scripts and action

Start close.png

Analysis Code

In side the folder /digios/analysis, there are many folders

  • data -- stored the raw data
  • merge_data -- stored the merged data and merge_log files
  • root_data -- built/sorted or mapped root data and the log files
  • Armory -- main analysis code, which is experiment INDEPENDENT
  • Cleopatra -- for DWBA calculation (Ptolemy only work in LINUX) and kinematic simulation
  • SRIM -- SRIM data file, the kinematic simulation can read these files and estimate the target effect
  • Simulation -- obsolete
  • Woods-Saxon -- Well, for woods-Saxon calculation
  • working -- This is the working directory, the files can be different from each experiment.

Standard data analysis flow

DataAnalysis.png

Questions

Do we switch to CSS? - Yes, likely so, but need working system first.

What controls are most crucial?

What do we need at a minimum to take data?

Below is as old as 10/2016

EDM Window List

Before modifying things, lets try to document things. Below is a list (and possible a diagram in the future) to find the EDM windows in use (10/2016 - CRH)

/helios/edm/screens
-rw-rw-r--. 1 dgs dgs 14325 May 13  2015 acqStatus.edl
-rw-rw-r--. 1 dgs dgs  6968 May 13  2015 B_Leds.edl
-rw-rw-r--. 1 dgs dgs 21007 May 13  2015 counterRates.edl
-rw-rw-r--. 1 dgs dgs 14018 May 13  2015 DGSchannel.edl
-rw-rw-r--. 1 dgs dgs 14737 May 13  2015 dgsSender.edl
-rw-rw-r--. 1 dgs dgs  6997 May 13  2015 Dig_D2Win.edl
-rw-rw-r--. 1 dgs dgs  6986 May 13  2015 Dig_DWin.edl
-rw-rw-r--. 1 dgs dgs 23702 May 13  2015 DigEnable.edl
-rw-rw-r--. 1 dgs dgs  6986 May 13  2015 Dig_KWin.edl
-rw-rw-r--. 1 dgs dgs  6967 May 13  2015 Dig_LEDS.edl
-rw-rw-r--. 1 dgs dgs  6986 May 13  2015 Dig_MWin.edl
-rw-rw-r--. 1 dgs dgs 16405 May 13  2015 eventRates.edl
-rw-rw-r--. 1 dgs dgs 11144 Jun  3  2015 globalControl.edl
-rw-rw-r--. 1 dgs dgs 25726 May 13  2015 gretBoard.edl
-rw-rw-r--. 1 dgs dgs 22862 May 13  2015 gretGlobal.edl
-rw-rw-r--. 1 dgs dgs 14737 May 13  2015 gretSender.edl
-rw-rw-r--. 1 dgs dgs  7612 Jun 23  2015 heliosCommanderNew.edl
-rw-rw-r--. 1 dgs dgs 69850 Jul 21 14:15 heliosCounterRates.edl
-rw-rw-r--. 1 dgs dgs  9460 Jul 21 14:38 heliosDigEnable.edl
-rw-rw-r--. 1 dgs dgs 15174 Jul 21 14:33 heliosLiveTS.edl
-rw-rw-r--. 1 dgs dgs  7840 Oct 14 23:43 HELIOSrunControl.edl
-rw-rw-r--. 1 dgs dgs 50345 Jul 21 14:41 heliosTrigCntrl.edl
-rw-rw-r--. 1 dgs dgs 51122 Jul 21 14:22 heliosTrigLock.edl
-rw-rw-r--. 1 dgs dgs  3796 May 13  2015 IOC1.edl
-rw-rw-r--. 1 dgs dgs  6571 May 13  2015 IOC.edl
-rw-rw-r--. 1 dgs dgs  8946 May 13  2015 iocStatus1.edl
-rw-rw-r--. 1 dgs dgs 19626 May 13  2015 iocStatus2.edl
-rw-rw-r--. 1 dgs dgs 16101 May 13  2015 iocStatus3.edl
-rw-rw-r--. 1 dgs dgs 19626 May 13  2015 iocStatus.edl
-rw-rw-r--. 1 dgs dgs 24803 May 13  2015 mobBoard.edl
-rw-rw-r--. 1 dgs dgs 13373 May 13  2015 mobChannel.edl
-rw-rw-r--. 1 dgs dgs  3373 Jun 22  2015 mobIOC.edl
-rw-rw-r--. 1 dgs dgs  4317 Jun 23  2015 runControl.edl
-rw-rw-r--. 1 dgs dgs  3151 May 13  2015 Trace.edl 
/edm/screens
acqStatus.edl	      dgsDigRegisters.edl    FMArunControl.edl
analog_gs.edl	      dgs_EBTS.edl	     fmaTrigLock2.edl
AuxIO_Ctl.edl	      dgs_eventrates2.edl    fmaTrigLock.edl
bgoledall.edl	      dgs_eventrates3.edl    fmaVMEstatus.edl
bgorates2.edl	      dgs_eventrates.edl     GeBGO.edl
bgorates.edl	      dgs_Ge_kdm2.edl	     GeBGOmain.edl
BGSrunControl.edl     dgs_Ge_kdm.edl	     geledall.edl
BigSummary.edl	      dgs_getrigrates.edl    genBoard.edl
cagm_DigEnable.edl    dgsGlobal2.edl	     genGlobal.edl
cagm_iocStatus.edl    dgsGlobal.edl	     genIOC_2M_2S.edl
cagm_LiveTS.edl       dgsIOC2.edl	     genIOC_4M_0S.edl
CAGMrunControl.edl    dgsIOC3.edl	     genIOC.edl
cagmTrigLock2.edl     dgsIOC.edl	     gen_linkControl.edl
cloBoard.edl	      dgsiocStatus.edl	     gen_Master.edl
cloChannel.edl	      dgs_linkControl.edl    gen_Master.edl~
clocounterRates.edl*  dgslite.edl	     genRouter.edl
clo_DigEnable.edl     dgs_LiveTS2.edl	     gen_RunControl.edl
clo_digiRates.edl     dgs_LiveTS.edl	     genVMEstats_2M_2S.edl
cloGlobal2.edl	      dgs_lsbTS.edl	     genVMEstats_4M_0S.edl
cloIOC.edl	      dgs_Master2.edl	     gerates2.edl
clo_iocStatus.edl     dgs_Master.edl	     gerates3.edl
clo_LiveTS.edl	      dgsMTrigRegisters.edl  gerates.edl
CLOrunControl.edl     dgs_RlinkControl.edl   getrigall.edl
cloTrigLock2.edl      dgsRouter.edl	     iocStatus.edl
clovBoard.edl	      DGS_Router.edl	     Master.edl
clovChannel.edl       dgsRTrigRegisters.edl  mobBoard.edl
clov_DigEnable.edl    DGSrunControl.edl      mobChannel.edl
cloverrates.edl       DGSrunControl.edl~     mobIOC.edl
clovIOC2.edl	      dgsSender.edl	     monitorVeto.edl
cloviocStatus.edl     dgsTrigCntrl.edl	     MTRegsiters.edl
cloVMEstatus.edl      dgsTrigInfo.edl	     MyriadTrig2.edl
counterRates.edl      dgsTrigLock2.edl	     MyriadTrig.edl
CounterRates.edl      dgsTrigLock.edl	     newFile2.edl
debugScreen.edl       dgsVMEstatus.edl	     null
dfmaCounterRates.edl  dgs_XYMAP.edl	     oldTrig/
dfmaIocStatus.edl     DigChanRegisters.edl   remoteDFMATrig.edl
dfma_linkControl.edl  Dig_D2Win.edl	     Router.edl
dfma_LiveTS2.edl~     Dig_DWin.edl	     RWDebug.edl
dfma_LiveTS.edl       DigEnable.edl	     Sample_scalers.edl
dfma_Master2.edl      Dig_KWin.edl	     screens.tar
dfmaRouter.edl	      Dig_LEDS.edl	     scr.txt
dfmaTrigCntrl.edl     Dig_MWin.edl	     temp.edl
dgs_BGO_kdm2.edl      DigParamContrl.edl     Trace.edl
dgs_BGO_kdm.edl       DigRegisters.edl	     TrigControl.edl
dgs_bgotrigrates.edl  eventRates2.edl	     trigrate_calc.db
dgsBoard.edl	      eventrates3.edl	     TS.edl
dgsBoard.edl.old1     eventRates.edl	     update
dgsBoard.edl.old2     eventRatesLED.edl      VMEstatus.edl
dgsChannel1.edl       fmaDigEnable.edl	     WheelMap.edl
dgsChannel.edl	      fmaGlobal2.edl	     WheelMap_RBV.edl

Scripts List

/helios/edm/scripts
-rwxrwxr-x. 1 dgs dgs 32336 Sep  2 16:39 current_status_DGS.save*
-rwxrwxr-x. 1 dgs dgs  3313 Aug 25 15:45 diglink_r1*
-rwxrwxr-x. 1 dgs dgs  3224 Aug 25 15:47 diglink_setupdgs*
-rw-rw-r--. 1 dgs dgs  3224 Jul 28 18:03 diglink_setupdgs~
-rwxrwxr-x. 1 dgs dgs  2143 Aug 18  2015 dig_setup*
-rwxrwxr-x. 1 dgs dgs  7996 Sep  2 16:34 dig_setupdgs*
-rw-rw-r--. 1 dgs dgs  7683 Aug 31 14:51 dig_setupdgs~
-rwxrwxr-x. 1 dgs dgs  4550 Jul 28 18:01 dig_setupdgs_default*
-rwxrwxr-x. 1 dgs dgs  7602 Jul 28 18:01 dig_setupdgs.old*
-rw-rw-r--. 1 dgs dgs  7829 Jul 28 18:01 dig_setupdgs-YPLANE
-rwxrwxr-x. 1 dgs dgs  3845 Oct 14 17:27 dig_setuphelios*
-rwxrwxr-x. 1 dgs dgs  3844 Oct 14 10:50 dig_setuphelios~*
-rwxrwxr-x. 1 dgs dgs  1449 May 13  2015 global_config*
-rwxrwxr-x. 1 dgs dgs  4770 May 13  2015 global_save*
-rwxrwxr-x. 1 dgs dgs  3142 Jul 21 11:26 HELIOSterminals*
-rw-rw-r--. 1 dgs dgs  3142 Jul 21 11:24 HELIOSterminals~
-rw-rw-r--. 1 dgs dgs    84 Oct 14 17:30 null
-rwxrwxr-x. 1 dgs dgs   388 Sep 20 14:47 set_dig_all*
-rw-rw-r--. 1 dgs dgs   388 Sep 20 14:47 set_dig_all~
-rwxrwxr-x. 1 dgs dgs  3142 May 13  2015 terminals*
-rwxrwxr-x. 1 dgs dgs 10783 Aug 25 15:46 trigonly_setupdgs*
-rw-rw-r--. 1 dgs dgs 10851 Jul 28 17:48 trigonly_setupdgs~
-rwxrwxr-x. 1 dgs dgs 10783 Sep  2 16:30 trigonly_setuphelios*
/edm/scripts
1*			  hosts			 set_preamp_reset*
allTerms*		  Hosts			 set_preamp_reset2*
allTerms_dgs*		  junk.save*		 set_sweep.sh
analog_gs.edl		  killTerms*		 show_all_ch_PV*
arch/			  killTerms_dgs*	 show_DAQC_PVS*
bgohv/			  LED_MODE*		 show_dig
bgo_hv_control.py*	  logic			 show_dig_PV*
blank.sh*		  myriad_fifo_reset.sh*  show_mdig_PV*
BSave.py*		  null			 show_mdig_PV_RBV*
CFD_MODE*		  pause_daq*		 show_preamp_reset*
CFD_MODE.old*		  pyscripts*		 start.sh
chan_info.py*		  RallTerms*		 sweep_ram_setup2.sh*
check_buff*		  Ram_registers2.sh*	 sweep_ram_setup3.sh*
CLOterminals*		  Ram_registers.sh*	 sweep_ram_setup.sh*
config_main_Trigs*	  read_cpld.sh		 temp.sh*
current.save*		  RecoverBuffers*	 test.py*
current_status_DGS.save*  run_save*		 test.save*
cycle_throttle*		  run_save_bgs*		 test.sh*
DGSterminals*		  run_save_cagm*	 toggle.sh*
diglink_r1*		  run_save_gsfma338*	 trigger_config*
diglink_setupclo	  save_scalers.sh*	 trigger_setupdgs*
diglink_setupdgs*	  save_status_DFMA.sh*	 trigonly_setupcagm*
dig_setupclo*		  save_status_DGS.sh*	 trigonly_setupclo*
dig_setupdgs*		  scripts.25Feb15.tar	 trigonly_setupclo_R1*
dig_setupdgs_default*	  scr.txt		 trigonly_setupclo_R3
dig_setupdgs.old*	  sender_off*		 trigonly_setupdgs*
dig_setupdgs-YPLANE	  sender_on*		 trigonly_setupdgs_GITMO*
dig_setup_temp*		  sender_percent*	 trigonly_setupdgs.old*
epics_save*		  set_all_ch*		 trigonly_setupdgs.ver1*
Event_Veto*		  set_bgos*		 trig_ram_steup3.sh*
fast_coinc_setupdgs.sh	  set_bgo_thresh*	 veto_ram_disable.sh*
FMAterminals*		  set_dig*		 veto_ram_enable.sh*
global_config*		  set_dig_all*		 veto_ram_setup2.sh*
global_save*		  set_dig_ch*		 veto_ram_setup.sh*
Global.save		  set_ge*		 write_value.sh*
horns_off*		  set_ge_kdm*		 xxx*
horns_on*		  set_ge_thresh*