Rachel GUI

From GOSIA

Jump to: navigation, search
(updating for planned release candidate)
(Changed installation to include forking the git repo.)
 
Line 3: Line 3:
[[File:Guisnapshot.png|thumb|right|A snapshot of the alpha version GUI.]]
[[File:Guisnapshot.png|thumb|right|A snapshot of the alpha version GUI.]]
-
The Rachel interface facilitates [http://www.pas.rochester.edu/~hayes/beta_rachel/calculation_in_2_minutes.html fast setup of Gosia calculations] and data analysis using push-button controls with guided input and 'plain language' warnings during setup.  It is currently undergoing beta-testing.  The GUI ''optionally'' uses a modified Gosia version based on release 20081208.10, called 20081208.10.a.  This modified Gosia source code is distributed with the Rachel package.  Rachel is written in Python 2.6 and is expected to be Python 2.7 compliant.  It runs under Linux and Unix (OS X) machines, but it has ''not'' been tested under Windows.
+
For a demo of Rachel's capabilities, watch [http://youtu.be/moVVC-GODzQ The Rachel Video on Youtube], or [http://www.pas.rochester.edu/~hayes/beta_rachel/main_ad.html Download the mp4 (9MB)].
-
A 64-bit processor is essential, because Gosia runs fastest and most accurately on 64-bit machines.  The release-candidate version, expected in the September of 2011, will have many structural changes in the code, allowing more automation, more general particle detector options and fewer user prompts for standard operations.   
+
The Rachel interface facilitates [http://www.pas.rochester.edu/~hayes/beta_rachel/calculation_in_2_minutes.html fast setup of Gosia calculations] and data analysis using push-button controls with guided input and 'plain language' warnings during setup.  Rachel is written in Python 2.6 and is expected to be Python 2.7 compliant.  It runs under Linux and Unix (OS X) machines.  A Windows version is not planned.
 +
 
 +
A 64-bit processor is essential, because Gosia runs fastest and most accurately on 64-bit machines.  Versions 1.* have many structural changes in the code, allowing more automation, more general particle detector options and fewer user prompts for standard operations.   
[[File:Typicalgosiainput.png|thumb|right|Excerpt of a typical Gosia input for a collective system.]]While gosia.20081208 incorporates the [[OP,BRIC]] command to read internal conversion data from BrIcc data files, removing the burden of entering ICC interpolation data by the user, the GUI allows the greatest possible automation by prompts for pre-defined or user-defined germanium detector crystals or arrays, calculation of Zeigler stopping power data, optimum meshpoint selection for yield calculations, transformation of rectilinear detector definition to laboratory-frame spherical-polar interpolation coordinates, etc.  For standard problems, the burden on the user is reduced to entering nuclear level and matrix data for simulations (including optional data-set simulation) and real experimental data for fitting of matrix elements.  For collective systems, where the matrix definition often includes several hundred lines of matrix elements, rotor parameters can be given to reduce the setup time for the initial guesses of matrix element values.  This also eliminates the need for the user to re-index the reduced matrix elements by hand as changes are made to the matrix or level scheme.
[[File:Typicalgosiainput.png|thumb|right|Excerpt of a typical Gosia input for a collective system.]]While gosia.20081208 incorporates the [[OP,BRIC]] command to read internal conversion data from BrIcc data files, removing the burden of entering ICC interpolation data by the user, the GUI allows the greatest possible automation by prompts for pre-defined or user-defined germanium detector crystals or arrays, calculation of Zeigler stopping power data, optimum meshpoint selection for yield calculations, transformation of rectilinear detector definition to laboratory-frame spherical-polar interpolation coordinates, etc.  For standard problems, the burden on the user is reduced to entering nuclear level and matrix data for simulations (including optional data-set simulation) and real experimental data for fitting of matrix elements.  For collective systems, where the matrix definition often includes several hundred lines of matrix elements, rotor parameters can be given to reduce the setup time for the initial guesses of matrix element values.  This also eliminates the need for the user to re-index the reduced matrix elements by hand as changes are made to the matrix or level scheme.
Line 11: Line 13:
==How to get the Rachel package==
==How to get the Rachel package==
-
Version 2.0.8.beta is completely compatible with version 2.0.4.beta—2.0.8.beta and has the same backward-compatibility for session files older than 2.0.4.beta.  Refer to the [[gui_release_notes | release notes]] for the change in this version.
+
Get the latest release version from the [[Gosia#Downloads | Downloads section on the Main Page]].
-
The Rachel tar archive of version 2.0.8.beta is available on a [http://www.pas.rochester.edu/~hayes/beta_rachel/rachel.2.0.8.beta.tar temporary download site].  This includes an ''extended'' version of Gosia that makes use of file number 99 for amplitude vs. time data [[File:Amplitudes.png|thumb|right|Excitation amplitude as a function of the time-like variable 'w' generated by Gosia via the Rachel GUI.]] and collision function output for optional plotting functions in the GUIExcept for these two functions, the GUI can be run with the current version of Gosia.
+
==Version notes==
 +
 
 +
The [[Gui_release_notes | version notes page]] gives a history of Rachel updatesKnown issues are given for each version, as well as the current version.
==Installation notes==
==Installation notes==
Line 19: Line 23:
===General===
===General===
-
Rachel has been installed successfully on the following systems.  You can view or submit detailed installation notes for these or other systems.  (Please link them to a separate Wiki page.)
+
A script was added by Mitch Allmond that compiles and sets up Rachel, Gosia and Elast in one step.  First, un-tar the distribution, or pull the git repo from the [[Gosia#Downloads | Downloads section on the Main Page]].  Please fork it and make pull requests if you have anything to contribute.
 +
 
 +
<pre>
 +
% tar -xvf rachel_distribution_1.3.0.tar
 +
</pre>
 +
 
 +
or similar for the correct version number.  Move into the new Rachel directory and run compile-all.sh:
 +
 
 +
<pre>
 +
% cd rachel_distribution_1.3.0
 +
% ./compile-all.sh
 +
</pre>
 +
 
 +
You will be prompted if any previous setup information needs to be overwritten.
 +
 
 +
Rachel has been installed successfully on a number of Linux and OS X systems.  Most problems are related to the level scheme graphics.  Refer to [http://matplotlib.sourceforge.net/faq/installing_faq.html#backends matplotlib backends] for remedies.  You can view or submit detailed installation notes for any particular operating system.  (Please link them to a separate Wiki page.)
If the default python environment set in the rachel.py executable is not appropriate, the following error will appear:
If the default python environment set in the rachel.py executable is not appropriate, the following error will appear:
Line 61: Line 80:
In the beta versions, the GUI preserves backward-compatibility of the saved session files, so that users can upgrade the GUI without having to rebuild the session.
In the beta versions, the GUI preserves backward-compatibility of the saved session files, so that users can upgrade the GUI without having to rebuild the session.
-
When the release candidate becomes available, users will have to rebuild their sessions, because of major changes in the internal structure that cannot be automatically upgraded.  This can be aided by the export/import tools for the level and matrix data.
+
When changing to version 1.0 or later, users will have to rebuild their sessions, because of major changes in the internal structure that cannot be automatically upgraded.  This can be aided by the export/import tools for the level and matrix data.  Subsequent versions will have the automatic upgrading reinstated.
-
In the release versions, automatic upgrading of saved sessions will be reinstated.
+
==Graphics Issues==
-
==Beta version capabilities==
+
If you do not see a level scheme diagram after loading a level scheme or a saved session, click "Examine fig. window" once.  The level scheme should then appear.
 +
If it does not, or if the level scheme window buttons (zoom, pan, etc.) do not work, you may need to change the graphics back-end.  The matplotlib graphics library used for the level scheme and particle detector layout comes with several choices of back-ends. 
 +
 +
*On OS X machines, "macosx" may work best.
 +
*On Ubuntu, GTKAgg works best, but the user must click "Examine fig. window" 'once' after loading a level scheme or saved session.
 +
 +
The back-end is in the matplotlibrc file in the .matplotlib directory, or will be, after you start Rachel for the first time.
 +
 +
<pre>
 +
hayes@Sobchak:~$ cd .matplotlib/
 +
hayes@Sobchak:~/.matplotlib$ ll
 +
total 116K
 +
drwxr-xr-x  3 hayes hayes 4.0K Nov  5 12:30 ./
 +
drwxr-xr-x 125 hayes hayes  12K Nov  5 12:53 ../
 +
-rw-r--r--  1 hayes hayes  92K Oct 27 13:13 fontList.cache
 +
-rw-r--r--  1 hayes hayes  17 Aug 19 02:09 matplotlibrc
 +
drwxrwxr-x  2 hayes hayes 4.0K Oct 27 13:13 tex.cache/
 +
hayes@Sobchak:~/.matplotlib$ cat matplotlibrc
 +
backend : GTKAgg
 +
hayes@Sobchak:~/.matplotlib$
 +
</pre>
 +
 +
Change the backend line as desired.  The choices are found
 +
 +
 +
==Capabilities of version 1==
 +
 +
Note that there are major simplifications in the Ge detector array setup and data loading.
 +
 +
* Human-readable data files that are robust for changes in the experimental setup and level scheme
* Azimuthally symmetric particle detection
* Azimuthally symmetric particle detection
* Partitioning particle-detector data by azimuthal angle
* Partitioning particle-detector data by azimuthal angle
Line 73: Line 121:
* Normal or inverse kinematics experiments
* Normal or inverse kinematics experiments
* A user-expandable library of standard Ge crystals e.g. Gammasphere
* A user-expandable library of standard Ge crystals e.g. Gammasphere
 +
* A user-expandable library of detector arrays (Tigress, Miniball, Gammasphere...)
* Data from summed 4pi arrays
* Data from summed 4pi arrays
* Efficiency-corrected gamma-ray data only
* Efficiency-corrected gamma-ray data only
Line 81: Line 130:
* Accuracy testing to determine if Gosia will be appropriate for a planned experiment
* Accuracy testing to determine if Gosia will be appropriate for a planned experiment
* Fitting and correlated error estimations
* Fitting and correlated error estimations
-
* Reading level schemes and gamma-ray data from Radware AGS files and including
+
* Reading level schemes and gamma-ray data from Radware AGS files and [[Rachel_yield_data_files | Rachel text format]] including
** Branching ratio data
** Branching ratio data
** Previously measured EM matrix elements, including the measured phases
** Previously measured EM matrix elements, including the measured phases
Line 92: Line 141:
* Instantly generating plots of experimental vs. predicted yields via gnuplot  [[File:plottingexample.png|thumb|right|A zoomed view of a plot of yield vs. spin in a rotational band generated from the Gosia output and experimental data.]]
* Instantly generating plots of experimental vs. predicted yields via gnuplot  [[File:plottingexample.png|thumb|right|A zoomed view of a plot of yield vs. spin in a rotational band generated from the Gosia output and experimental data.]]
* Automated generation of stopping power and internal conversion input for Gosia
* Automated generation of stopping power and internal conversion input for Gosia
-
* Push-button controls
+
* Push-button controls, optional pop-up guidance and guided prompts
* A searchable help function
* A searchable help function
-
* Saving the entire session to a file
 
* Undo/Redo of most functions and crash recovery
* Undo/Redo of most functions and crash recovery
Line 110: Line 158:
===Planned upgrades===
===Planned upgrades===
-
There are a number of planned upgrades, ''some'' of which will be incorporated in the first [[rachel_release_candidate | release candidate] version.  The upgrade plan and priorities will be changed based on user feedback and bug reports.   
+
There are a number of planned upgrades, many of which have already been added to versions 1.0 and later.  The upgrade plan and priorities will be changed based on user feedback and bug reports.   
# More accurate stopping power calculations for low-Z beams.
# More accurate stopping power calculations for low-Z beams.
Line 122: Line 170:
# Optional simple distributed processing of some functions.  This will allow the user to set a maximum number of independent processes to speed up separable calculations (integrated yields, corrected yields and experiment simulations) by issuing a separate call to Gosia for each process<ref>True distributed computing is not handled by the current version of Gosia</ref>.
# Optional simple distributed processing of some functions.  This will allow the user to set a maximum number of independent processes to speed up separable calculations (integrated yields, corrected yields and experiment simulations) by issuing a separate call to Gosia for each process<ref>True distributed computing is not handled by the current version of Gosia</ref>.
-
==Tutorial videos and run-time help==
+
==Videos, manual and run-time help==
-
The Rachel manual has been incorporated into the [[Gosia_Manual | Gosia manual]].  Tutorial videos generated with a pre-beta version are now available.  While the GUI control panel and some user input and output formats
+
===Quick advertising and demos===
-
have changed slightly, most of these changes should be obvious during operation. 
+
-
Run-time help is available using the Help button. Users are encouraged to submit suggestions for additional help data.
+
[http://www.pas.rochester.edu/~hayes/beta_rachel/main_ad.html The Rachel advertising video]
 +
[http://www.pas.rochester.edu/~hayes/beta_rachel/calculation_in_2_minutes.html Fast setup of Gosia calculations]
 +
 +
===Help with Rachel on this Wiki===
 +
 +
Use the search function to the left, or start here.
 +
 +
[[rachel_selected_topics | Selected help topics for Rachel]]
 +
 +
===Tutorial videos===
 +
 +
[[rachel_1.0_tutorial_videos | New Tutorial videos]] are being produced for version 1.0.  These will be much shorter and more focused than the old videos.
 +
 +
You can still watch [[rachel_beta_tutorial_videos | beta-version tutorial videos]], but there have been many changes.  General procedures are similar.  These old videos contain more topics per video, so some are quite long.
 +
 +
===The manual===
 +
 +
The Rachel manual has been incorporated into the [[Gosia_Manual | Gosia manual]]. 
 +
 +
===Other help resources===
 +
 +
Run-time help is available using the Help button.  Users are encouraged to submit suggestions for additional help data.
===Experiment planning and accuracy testing tools===
===Experiment planning and accuracy testing tools===
-
The simulation tools have been improved since the recording of these video tutorials.  The user will find extra prompts for the details of the planned beam run, and estimated absolute measured counts will be calculated and displayed.  The display format will look like the following:
+
The simulation tools have been improved since the recording of these video tutorials.  The user will find extra prompts for the details of the planned beam run, and estimated absolute measured counts will be calculated and displayed.  The display format looks like the following:
<pre>
<pre>
-
Experiment 1 Detector 1
+
Experiment 1
-
                                  Raw                Sim. Measured              
+
Target excitation by Z,A = 54,136 at 517 MeV. Mean scattering angle = 45.0 deg.
-
Band       Spin   Band   Spin   Counts    Error   eps Counts       Error  
+
Detector 1
-
-------------------------------------------------------------------------------
+
Single crystal at theta, phi = 45.0, 45.0 deg. Solid angle = 0.06 sr.
-
      t    24.0    gsb    22.0         17       4  0.118     179     45
+
This simulation does not include random gaussian scatter.  Counts represent the cross sections calculated by Gosia.     
-
      t    24.0       t    22.0         18       4 0.151      121      29
+
      Transition             |  Gammas incident      |                    Fraction of |        Observed Counts       
-
  four    22.0   four    20.0         14       4  0.166       63     17
+
                              |  on Ge detectors      | Gamma              Incident    |                               
 +
Initial        Final        |                      | Energy **Detector  Gammas      |                               
 +
    Band Spin     Band Spin   | Counts    *Error     | (keV)  Efficiency Detected    | Rate(Hz)  Counts ***Error  
 +
-------------------------------------------------------------------------------------------------------------------------
 +
    gsb  1.5      gsb  0.5     4.662e+06  2.332e+05    100.0 0.00049    0.09962       1.075e+00  4.644e+05 6.815e+02
 +
     gsb  2.5     gsb  0.5    1.570e+07  7.848e+05    200.0 0.00179    0.36853       1.339e+01 5.784e+06  2.405e+03
 +
      a  2.5      gsb  0.5    1.079e+04  5.647e+02    250.0 0.00189    0.38907       9.719e-03  4.199e+03  6.480e+01
 +
      a  2.5      gsb  1.5    9.816e+02  7.705e+01    150.0 0.00135    0.27823       6.322e-04  2.731e+02  1.653e+01
 +
      a  2.5        b  3.5    4.689e+05  2.376e+04     75.0  0.00015    0.0312        3.387e-02  1.463e+04  1.210e+02
</pre>
</pre>
-
The "raw counts" are estimated from a typical efficiency curve for Gammasphere, and the estimated absolute efficiency <math>\epsilon</math> is given as "Sim. eps" for each transition.  Possion counting errors are based on the raw counts, while additional error on the ''total'' (simulated) efficiency-corrected counts may be added by the user.
+
The "Observed Counts" are calculated using the efficiency curve from the detector library or a detector created by the user.  The "Detector Efficiency" <math>\epsilon</math> is the usual definition.  Possion counting errors are based on the observed counts, while additional error on the ''total'' efficiency-corrected counts may be added by the user.
-
# [http://www.pas.rochester.edu/~hayes/beta_rachel/accuracy_testing.html Testing the accuracy] of your Gosia calculations and the applicability of Gosia to a planned experiment.
+
Refer to the page [[Rachel_simulated_yield_output | Rachel simulated yield output]] for more information about simulations with the GUI.
-
# Semiclassical Coulomb excitation codes have inherent adiabaticity and eccentricity limits. [http://www.pas.rochester.edu/~hayes/beta_rachel/adiabaticity_limit.html This video] shows how to test for these limits with an experiment that would ''not'' be appropriate for Gosia.
+
-
# [http://www.pas.rochester.edu/~hayes/beta_rachel/experiment_planning.html Generating simulated data]. The errors in the simulated data are based on Poisson statistics and the expected number of days, beam current, etc. to estimate your ability to observe desired gamma-ray yields and to fit matrix elements to the observed yields. The present beta version applies ''optionally'' a quasi-gaussian random scatter of the predicted yield data [http://www.pas.rochester.edu/~hayes/beta_rachel/experiment_planning_2.html as demonstrated in this video] to better aid in predicting expected precision of fitted matrix elements. Watch this supplemental video to see how this works. You should also watch the [http://www.pas.rochester.edu/~hayes/beta_rachel/accuracy_testing.html accuracy testing video] to see if Gosia would be an appropriate analysis tool for your planned experiment.
+
===Troubleshooting===
===Troubleshooting===

Latest revision as of 13:07, 17 May 2013