GUI, Scripts And Analysis Code: Difference between revisions

From HELIOS Digital DAQ
Jump to navigation Jump to search
No edit summary
 
(24 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=Starting ACQ Control=
=Overview=


'''heliosCommander'''
All the code for the GUI (edm), scripts, and analysis code are stored in the github
https://github.com/calemhoffman/digios


#!/bin/bash -l
The folder structure is
runEdm() {
  export EDMOBJECTS=/global/devel/extensions/dgs1/src/edm/setup
  export EDMHELPFILES=/global/devel/extensions/dgs1/src/edm/helpFiles
  export EDMBASE=/global/devel/extensions/dgs1/src/edm
  export EDM=/global/devel/extensions/dgs1/src/edm/edmMain/O.linux-x86/edm
  export EDMPVOBJECTS=/global/devel/extensions/dgs1/src/edm/setup
  export EDMFILES=/global/devel/extensions/dgs1/src/edm/setup
  export EDMDATAFILES=$EDMDATAFILES:/global/devel/systems/helios/edm/screens
  export EDMDATAFILES=$EDMDATAFILES:/global/devel/systems/edm/screens
  export EDMSCRIPTS=/global/devel/systems/helios/edm/scripts
#  echo "export EDMDATAFILES=$EDMDATAFILES"
  $EDM -x -noedit HELIOSrunControl &
# echo "Edits are possible in this mode."
}
runEdm


All of these exports could (and should be placed in the ''.bashrc'' file).
[[File:Directory.png|800px|frameless]]


'''HELIOSrunControl''' is a call to the main edm gui screen located in ''/global/devel/systems/helios/edm/scripts.'' This script should be modified to host more information than it currently does.
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"_for_analysis_code#How_to_Setup_for_a_new_experiment? |How to Setup for a new experiment? ]]
= Design Philosophy =
[[File:DesignPhilosophy.png|800px|frameless]]
= 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
[[File:Start close.png|600px|frameless]]
= 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 =
[[File:DataAnalysis.png|800px|frameless]]
=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 ==
== 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)  
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)  
Line 115: Line 150:
  dgsChannel.edl       fmaGlobal2.edl     WheelMap_RBV.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*


== Scripts List ==
'''/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*

Latest revision as of 04:29, November 12, 2019

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*