REBEL

Rebel is a program designed to efficiently sort data from GAMMASPHERE into angles for DSAM and Quasicontinuum analysis. It is currently applying the background subtraction described in NIM A355 (1995)575-581 (by Ben Crowell). Standard versions of the program will only read data from skimmed tapes generated by the gs_skim_b program.

Rebel consists of the following programs

Below is a terse description on how to use the programs. This package is still under development, so expect the documentation to lag behind and even occasionally be misleading.


Rebel

The main sorter program has the syntax:
     rebel device parfilename rmf_file
where the "device" would be /dev/nrst8 (typically the stacker) or /dev/nrst9 and "rmf_file" the name of the rebel multi-file that the data should be written to. You might for example start the program as:
/bin/nice -10 rebel /dev/nrst8 par.par band-2.rmf > band-2.log &
(also showing how to start the program with a nice value, see this help on nice) Here is an example of the par file used by rebel:
gg_new.gat              <- gate file
det_angles.dat          <- detector angle file
2000000000              <- max number of events to sort
3 8                     <- multiplicity range
3                       <- data compression factor (i.e., 1kev/ch in tubes)
-20 20                  <- reduced time range
1                       <- data prescale (*NEW*)
"gg_new.gat" is the file containing the gates to be used and "det_angles.dat" is a file that tells the program which detectors are at what angles. The next line specifies that a maximum of 2 Billion events should be sorted, i.e., everything on a tape! "3 8" specifies that the accepted multiplicity range is from 3 to 8. "3" in the next line specifies that the data should be compressed by a factor of three, (This compression is done after the gates have been applied). Next follows the accepted reduced time window (from -20 to +20 in this case, or +/- two HWHM) and finally the data pre-scale factor. The latter factor can be applied in cases where the dispersion of the raw data is so large that the peak-peak area of the FUL background matrices would otherwise occupy to large a fraction of the matrices.

The gate file looks as:

; gat file for rebel
; f    g    h
  1.66 1.44 1.07
;
; kev/ch in input data
0.333333333
;
; gates (e energy v/c factor) or (c lo hi v/c)
;
e 201.2 0.0000 1.25
e 242.6 0.0000 1.25   
e 323.8 0.0000 1.25
e 363.5 0.0000 1.25
e 402.4 0.0000 1.25
e 440.5 0.0018 1.25
e 477.9 0.0045 1.6
e 514.5 0.0067 2.0
e 550.0 0.0073 2.9
e 585.0 0.0124 3.0
e 619.1 0.0147 2.9
e 652.1 0.0167 2.0
e 684.4 0.0181 1.7
e 716.2 0.0197 1.4
There are two ways of specifying the gates: by energy (e) or directly by channel (c). The above example is specifying the energy (second column). The third column species the v/c for the gate. The Rebel program will calculate the FWHM for the energy specified using the f,g,h parameters (specify intrinsic values) specified in the first line of input (that is not a comment line) and the energy resolution of the data on the data tape specified in the second input line. However, before that width is used, it's multiplied by the factor specified in the forth and last column. This allows gates to be specified wider than the FWHM (1.25 is a reasonable multiplication factor) and also allows for the Doppler broadening of peaks. Notice that the 585 KeV gate in this example has a factor of 3.0 - this gate has an f-tau value close to 1/2 and thus has the largest broadening. The factor then goes down towards 1.25 again as the F-tau value gets close to 1.

WARNING:

The gates must not overlap even when it it comes to the 2D matrices that are created for the background subtraction. To check that you do not have overlapping gates, inspect the gg2dwide-##.spe spectra that rebel creates when it starts. Each "column", representing a 2D matrix range for a tube, must not touch it's neighbor!

The detector angle file has the same format as used by the online calibration software of GAMMASPHERE:

    1     17.27 
    2     17.27 
    3     17.27 
    4     17.27 
    5     31.72 
    6     17.27 
    7     31.72 
    8     31.72 
    9     31.72 
   10     31.72 
   11     37.38 
   12     37.38 
   13     37.38 
   14     37.38 
   15     50.07 
   16     37.38 
.
etc
I.e., pairs of a detector number and corresponding polar angle. You can take this file directly from the cal directory of the gs account on the GAMMASPHERE machines - it has the same format. Make sure to edit this file if any of the detectors do not have the official id.

Rebel will read in the content of the rmf file before it starts to sort, - so it will continue sorts if it can. If the program does not find an rmf file, it will quietly start with zero spectra in a new rmf file.

The angle codes used in the program are:

detector map:
ang #  1; { 17 deg}> [  1][  2][  3][  4][  6]
ang #  2; { 32 deg}> [  5][  7][  8][  9][ 10]
ang #  3; { 37 deg}> [ 11][ 12][ 13][ 14][ 16]
ang #  4; { 50 deg}> [ 15][ 17][ 18][ 19][ 20][ 21][ 22][ 23][ 24][ 26]
ang #  5; { 58 deg}> [ 25][ 27][ 28][ 30][ 32]
ang #  6; { 70 deg}> [ 29][ 31][ 33][ 34][ 35][ 36][ 37][ 38][ 40][ 42]
ang #  7; { 79 deg}> [ 39][ 41][ 44][ 46][ 48]
ang #  8; { 81 deg}> [ 43][ 45][ 47][ 50][ 52]
ang #  9; { 90 deg}> [ 49][ 51][ 53][ 54][ 55][ 56][ 57][ 58][ 60][ 62]
ang # 10; { 99 deg}> [ 59][ 61][ 64][ 66][ 68]
ang # 11; {101 deg}> [ 63][ 65][ 67][ 70][ 72]
ang # 12; {110 deg}> [ 69][ 71][ 73][ 74][ 75][ 76][ 77][ 78][ 80][ 82]
ang # 13; {122 deg}> [ 79][ 81][ 83][ 84][ 86]
ang # 14; {130 deg}> [ 85][ 87][ 88][ 89][ 90][ 91][ 92][ 93][ 94][ 96]
ang # 15; {143 deg}> [ 95][ 97][ 98][ 99][100]
ang # 16; {148 deg}> [101][102][103][104][106]
ang # 17; {163 deg}> [105][107][108][109][110]
In real experiments there may be some detectors that are not where they should be. By editing the detector angle file, you may 'move' them to the right physical angle.

Rebel_ana

this documention is not up to data. rebel_ana will generate help with the -h option.

Rebel_ana is used to extract the spectra from the rebel multi-file (rmf) and background subtract them.

To extract the sum of gates in each angle, simply type:

   rebel_ana rmf_file  
Where "rmf_file" is the rmf file you want to operate on.

Here is an incomplete list of some of the spectra the program currently writes out when you run it:

The first time you run this program it will look for a file called: "tube.enable". If it doesn't find it, it will write (a dummy) file for you and quit. The file may look like this:
;tube enable file for 'rebel_ana'
;================
;
** |  1 |  2 |  3 |  4 |  5 |  6 |  7 |  8 |  9 | 10 | 11 | 12 | 13 | 14 | 
--------------------------------------------------------------------------
 1 |  * |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 | 
 2 |  * |  * |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 | 
 3 |  * |  * |  * |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 | 
 4 |  * |  * |  * |  * |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 | 
 5 |  * |  * |  * |  * |  * |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 | 
 6 |  * |  * |  * |  * |  * |  * |  9 |  9 |  9 |  9 |  9 |  9 |  9 |  9 | 
 7 |  * |  * |  * |  * |  * |  * |  * |  9 |  9 |  9 |  9 |  9 |  9 |  9 | 
 8 |  * |  * |  * |  * |  * |  * |  * |  * |  9 |  9 |  9 |  9 |  9 |  9 | 
 9 |  * |  * |  * |  * |  * |  * |  * |  * |  * |  9 |  9 |  9 |  9 |  9 | 
10 |  * |  * |  * |  * |  * |  * |  * |  * |  * |  * |  9 |  9 |  9 |  9 | 
11 |  * |  * |  * |  * |  * |  * |  * |  * |  * |  * |  * |  9 |  9 |  9 | 
12 |  * |  * |  * |  * |  * |  * |  * |  * |  * |  * |  * |  * |  9 |  9 | 
13 |  * |  * |  * |  * |  * |  * |  * |  * |  * |  * |  * |  * |  * |  9 | 
14 |  * |  * |  * |  * |  * |  * |  * |  * |  * |  * |  * |  * |  * |  * |

Just run the program again, - this time it will read the dummy tube.enable file in and produce spectra for further analysis.

The idea is that the user can assign quality factors, from 0 (worst) to 9 (best), and the program will add up the sum of tubes in each angle (and a grand total sum) taking these quality factors into account. For example, a tube with quality factor 5 will be added to the tube sums with quality factors 0,1,2,3,4 and five. Thus, a sum of tubes (in angle or in the total array) with a quality factor of 5 will contain tubes with quality factors 5,6,7,8,9, i.e., better than or equal to 5.

It is the users responsibility to assign the quality factors (at the moment anyway, I hope to automate this procedure later on). To aid in this task, rebel_ana writes out a gf2 command files called tube_1.cmd and tube_2.cmd that allows you to go through the tubes one by one (more precisely: the nnmm_ts.spe spectra) displaying the current tube sum in the upper window and a spectrum called ref.spe in the lower window. You must create the ref.spe spectrum before you run the cmd file, - you could use the angsum-sum-q1 spectrum if you do not have better at the start. This spectrum should contain a nice clean sum of the SD band you are looking for so you will be able to assign good quality factors based on the comparison of the current tube displayed and this reference spectrum!

Once the quality factors have been assigned and edited into the tube.enable file, you can run the rebel_ana program again to extract the tube sums with quality factors as described above. The first time you run the program with the dummy tube.enable file generated by the program itself, all spectra will be assigned quality 9 and there really isn't any quality factor involved.

Here is a short overview of the spectra that rebel_ana writes out


SD0-a        : grand total projection (in angle 'a')

SD1_nn-a     : the raw single gated spectra (*)

SD2_nnmm-a   : raw double gated spectra (*)

g_nnmm-a     : background subtracted double gated spectra (*)

angsum-a-q   : sum of gates in angle 'a' with quality
               factor greater than or equal to q

angsum-sum-q : sum of all gates over all angles with quality
               factor greater than or equal to q

nnmm_ts      : sum over all angles of background subtracted
               tube (nn,mm). Thes spectra used to assign
               the quality factors.

where nn and mm are gate numbers and a is angle number. Depending on the version rebel_ana you are running, it may not write all of the spectra out ( the ones marked * are only written out by the rebel_ana_ALL version of rebel_ana).

Rebel_veto

no info yet... This option is not really used and may go away.


Rebel_add

Add the content of several rmf files sorted on different machines. It is possible to speed up a rebel sort using many machines for the sorts and add the results afterwards.

To add "1.rmf", "2.rmf" and "3.rmf" and put the result in "total.rmf" do:

rebel_add 1.rmf 2.rmf 3.rmf total.rmf
I.e., the last file specified will be the output file. Be careful not to accidentally overwrite an rmf file! ("rebel_add 1.rmf 2.rmf 3.rmf" would have the potential of spoiling you day...)


Rebel's rmf formats

rebel rmf file format

Example of a script file

#!/bin/csh
 
# rewind first tape

  trew /dev/nrst8 0
  mt -f /dev/nrst8 status

# sort the tapes

foreach tape ( 4 8 )

  echo "/dk/flounder/disk10/bgo/tl/bin/rebel'ing "
  nice -15 rebel /dev/nrst8 par.par band-1.rmf.t$tape
  mt -f /dev/nrst8 status
  echo "popping the tape..."
  mt -f /dev/nrst8 rewoffl
  echo "waiting for stacker"
  sleep 300

end

echo "... sorting seems to be done ..."



[email protected]