User Tools

Site Tools


s800_spectcl

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
s800_spectcl [2013/12/12 13:25]
pereira [Sample spectra]
s800_spectcl [2023/09/20 16:00] (current)
swartzj
Line 1: Line 1:
 ====== S800 SpecTcl ====== ====== S800 SpecTcl ======
-SpecTcl is the NSCL's event data analysis tool used for online and offline data analysis during experiments involving the S800 spectrograph. The documentation is accessible at: http://docs.nscl.msu.edu/daq/spectcl/ +SpecTcl is the NSCL's event data analysis tool used for online and offline data analysis during experiments involving the S800 spectrograph. The documentation is accessible at: http://docs.nscl.msu.edu/daq/spectcl/
  
 +**Important NOTES**: 
 +  * The S800 SpecTcl is run from the main directory **/user/s800/s800spectcl**. Instruction on how to install this software can be found [[S800 SpecTcl#S800 SpecTcl installation in S800 computer|here]]. 
 +  * A S800 SpecTcl packet (compressed tar file) can be created for distribution to users. Instructions on how to create this packet can be found [[S800 SpecTcl#S800 SpecTcl deployment|here]]. 
  
-The SpecTcl Control has been adapted for special functions required for the analysis of S800 data. Fig xxx shows the GUI control of the S800 analysis. 
  
-{{:wiki:SpecTclcontrol.jpg}}+The SpecTcl Control has been adapted for special functions required for the analysis of S800 data. SpecTcl can be opened from computer [[Software#u4pc8 (data U4)|u4pc8]] by clicking on the icon **SpecTcl** located in its desktop, or from a Linux terminal by typing ''gospectcl''
  
 +Spectra definition files can be found in directory **/user/s800/s800spectcl/Definitions**. Some pre-defined windows with useful spectra can be found in directory **/user/s800/s800spectcl/Windows**.
  
 +The figure below shows the GUI control of the S800 analysis. 
 +
 +{{:wiki:SpecTclcontrol.jpg}}
  
-The inverse map which enables the trajectory reconstruction of the particles within the spectrograph beam line can be loaded. Snapshots of CRDC and TPPAC events sampled in the pads and strips can be viewed. If this option is "armed", the sample is read out for the first event that falls into the specified gate. This is a diagnostics tool to analyze the response of the CRDCs and TPPACs. +The inverse map which enables the trajectory reconstruction of the particles within the spectrograph beam line can be loaded. Snapshots of [[Detectors#Cathode Readout Drift Chambers (CRDC)|CRDC]] and [[Detectors#Tracking Parallel Plate Avalanche Counters (TPPAC)|TPPAC]] events sampled in the pads and strips can be viewed. If this option is "armed", the sample is read out for the first event that falls into the specified gate. This is a diagnostics tool to analyze the response of the CRDCs and TPPACs. 
    
  
  
 ===== The TreeParameter class ===== ===== The TreeParameter class =====
-The TreeParameter class provides a mean to implement parameters in SpecTcl in a tree-like structure and without the need to specify parameter identification numbers. The parameters are referred to by their names only, which at the same time indicate their location in the tree. This reference mechanism is valid for both the coding part of SpecTcl (C++ code) and the interpreter part (Tcl/Tk shell). It eliminates the confusion induced by the use of numerals to refer to the parameters, and allows the user to organize the parameters in a logical fashion.+The TreeParameter class provides a means of implementing parameters in SpecTcl in a tree-like structure and without the need to specify parameter identification numbers. The parameters are referred to by their names only, which at the same time indicate their location in the tree. This reference mechanism is valid for both the coding part of SpecTcl (C++ code) and the interpreter part (Tcl/Tk shell). It eliminates the confusion induced by the use of numerals to refer to the parameters, and allows the user to organize the parameters in a logical fashion.
  
  
Line 24: Line 30:
   * **s800.fp.crdc1 s800.fp.crdc2**   * **s800.fp.crdc1 s800.fp.crdc2**
     * **.x** and **.y**: x and y positions of the particles hitting the CRDCs (calibrated)      * **.x** and **.y**: x and y positions of the particles hitting the CRDCs (calibrated) 
-    * **.tac**: the raw drift time of the electrons in the CRDCs which finally relates to the y position via the mask calibration +    * **.tac**: the raw drift time of the electrons in the CRDCs which can be related to the y position via the mask calibration 
     * **.calc.x_gravity**, **.calc.x_fit**: the x position in the CRDCs calculated using two methods (center-of-gravity or Gaussian fit) to determine the CRDC x position from the charge distribution induced in the pads by the electrons drifting towards the anode wire.     * **.calc.x_gravity**, **.calc.x_fit**: the x position in the CRDCs calculated using two methods (center-of-gravity or Gaussian fit) to determine the CRDC x position from the charge distribution induced in the pads by the electrons drifting towards the anode wire.
-    *  .anode: amplitude of the CRDC anode signal (used for diagnostics) +    *  **.anode**: amplitude of the CRDC anode signal (used for diagnostics) 
   * **s800.fp.track**   * **s800.fp.track**
     * **.afp**: dispersive angle in the focal plane calculated from the x-y positions of the particles measured with the CRDCs      * **.afp**: dispersive angle in the focal plane calculated from the x-y positions of the particles measured with the CRDCs 
     * **.ata** and **.bta**: dispersive and non-dispersive angle of the particles after interaction with the reaction target. These parameters are reconstructed using the "inverse map"     * **.ata** and **.bta**: dispersive and non-dispersive angle of the particles after interaction with the reaction target. These parameters are reconstructed using the "inverse map"
-    * **.dta**: kinetic energy of the particles determined from the CRDC's x-postions and the spectrograph Brho. Using the relativistic relation between energy and momentum yields the momentum distribution of the particles+    * **.dta**: kinetic energy of the particles determined from the CRDC's x-positions and the spectrograph Brho. Using the relativistic relation between energy and momentum yields the momentum distribution of the particles
     * **.scatter**: the particle's scattering angle off the target calculated from the reconstructed parameters "ata" and "bta"     * **.scatter**: the particle's scattering angle off the target calculated from the reconstructed parameters "ata" and "bta"
   * **s800.tof**   * **s800.tof**
     * **.rf**: time of flight relative to the cyclotron RF      * **.rf**: time of flight relative to the cyclotron RF 
-    * **.obj**, **.obje1**, **.obje2**: time of flight between the S800 trigger scintillator and the object scintillator. Endings e1 and e2 indicate flight-path corrections beeing applied, for example using information from the scintillators E1 or E2 . +    * **.obj**, **.obje1**, **.obje2**: time of flight between the S800 trigger scintillator and the object scintillator. Endings e1 and e2 indicate flight-path corrections being applied, for example using information from the scintillators E1 or E2 . 
     * **.xfp**, **.xfpe1**, **.xfpe2**: time of flight between the S800 trigger scintillator and the extended focal plane scintillator of the A1900     * **.xfp**, **.xfpe1**, **.xfpe2**: time of flight between the S800 trigger scintillator and the extended focal plane scintillator of the A1900
    
Line 66: Line 72:
  
  
-**Energy loss in the ion chamber vs. time of flight measured between the object scintillator and the E1 scintillator (trigger) at the end of the focal plane. **+==== Energy loss in the ion chamber vs. time of flight measured between the object scintillator and the E1 scintillator (trigger) at the end of the focal plane ====
  
 {{:wiki:s800_pid.jpg?600}} {{:wiki:s800_pid.jpg?600}}
Line 77: Line 83:
 //  // 
  
-**(In)elastic scattering of the incoming "cocktail beam" on a 256 mg/cm<sup>2</sup> Au target (spectrograph in focus mode).** +====(In)elastic scattering of the incoming "cocktail beam" on a Au target (spectrograph in focus mode) ====
  
 {{:wiki:s800_identification.jpg?600}} {{:wiki:s800_identification.jpg?600}}
  
-**Upper left**: Three 124Sn charge states in the CRDC2 x-y spectrum  
  
-**Upper right**: Amplitude of the CRDC2 anode signal vs. drift time (this is a diagnostics spectrum showing that the response of the CRDC is not correlated with the y position).  
  
-**Lower left**: Raw drift time measured in CRDC2 
  
-**Lower right**: Charge distribution induced in the pads by the three 124Sn charge states hitting CRDC2. +==== Sn-124 primary beam passing a thick Al viewer at the target position (focused optics) ====
  
 +{{:wiki:working_crdc2_sn124.jpg}}
  
 +**Upper left**: Three <sup>124</sup>Sn charge states in the CRDC2 x-y spectrum 
  
 +**Upper right**: Amplitude of the CRDC2 anode signal vs. drift time (this is a diagnostics spectrum showing that the response of the CRDC is not correlated with the y position). 
  
 +**Lower left**: Raw drift time measured in CRDC2
  
 +**Lower right**: Charge distribution induced in the pads by the three <sup>124</sup>Sn charge states hitting CRDC2. 
  
  
  
  
-**<sup>124</sup>Sn primary beam passing a thick Al viewer at the target position (focused optics). **+===== S800 SpecTcl installation in S800 computer ===== 
 +Before installing the S800 SpecTcl make sure to contact the S800 Device Physicist (Jorge Pereira).  
 +In order to install S800 SpecTcl in the S800 computer, follow the following steps:
  
-{{:wiki:working_crdc2_sn124.jpg}}+  - Connect to s800 account, preferably from u6pc5. 
 +  - Check that the environment variable SPECTCLBINDIR is well defined'' echo $SPECTCLBINDIR '' should give you **/user/s800/s800spectcl**. If that's not the case, edit .bashrc and define the variable (make sure to source .bashrc afterwards). 
 +  - Go to **/user/s800/s800develop/** and remove directory **s800spectcl**  
 +  - Clone the master branch from the remote repository''git clone git@git.nscl.msu.edu:pereira/s800spectcl.git -b master'' (NOTE: the deployment of this repository is password protected. Contact Jorge Pereira (pereira@nscl.msu.edu), Ron Fox (fox@nscl.msu.edu), or Giordano Cerizza (cerizza@nscl.msu.edu) for assistance). 
 +  - Type ''Make -f Make.s800 Install''. This Makefile does the following: 
 +            - Goes to subdirectory **/libnumrec**, runs make clean, and make LIBLITE (to clear objects and create library libnumreclite.a and moves the library to the **../src** subdirectory  
 +            - Goes to subdirectory **/src**, runs make clean, and make (this creates the SpecTcl binary) and moves it to the Main directory (up) 
 +            - Creates SpecTcl-running directory defined in **SPECTCLBINDIR=/user/s800/s800spectcl**, along with subdirectories **/Windows** and **/Definitions**.  
 +            - Moves "control" tcl files from Main directory into **/user/s800/s800spectcl**, along with executable SpecTcl; Xamine6.ctbl to the home directory; windows files to **/Windows** and s800xdt.tcl to **/Definitions** . 
 +  - This gets the software necessary to run SpecTcl ready in directory **/user/s800/s800spectcl**. 
 +  - SpecTcl can now be run just by typing ''gospectcl'' from any terminal 
 + 
 + 
 +===== S800 SpecTcl deployment ===== 
 +This section describes the procedure and scripts (Makefiles) to create a tar file with the S800 SpecTcl source files that any user may need to run S800 SpecTcl by themselves. This tar file contains: 
 + 
 +  * "Control" SpecTcl files (e.g. SpecTclControl.tcl, SpecTclInit.tcl, SpecTclRC.tcl etc.) 
 +  * **/src** subdirectory with source cpp and h files, Makefile, and libnumreclite.a library from Numerical Recipes 
 +  * **/Windows** subdirectory with standard SpecTcl windows files 
 +  * **/Definitions** subdirectory with file s800xdt.tcl spectra definition file.
  
  
 +The procedure to deploy this software works as follows:
  
 +  - Connect to s800 account, preferably from u6pc5.
 +  - Check that the environment variable SPECTCLDEPLOY is well defined: ''echo $SPECTCLDEPLOY'' should give you **/user/s800/s800spectcl_deploy**. If that's not the case, edit .bashrc and define the variable (make sure to source .bashrc afterwards).
 +  - Go to **/user/s800/s800develop/** and remove directory **s800spectcl** 
 +  - Clone the master branch from the remote repository: ''git clone git@git.nscl.msu.edu:pereira/s800spectcl.git -b master'' (NOTE: the deployment of this repository is password protected. Contact Jorge Pereira (pereira@nscl.msu.edu), Ron Fox (fox@nscl.msu.edu), or Giordano Cerizza (cerizza@nscl.msu.edu) for help)
 +  - Type ''Make -f Make.s800 Deploy''. This Makefile does the following:
 +              - Goes to subdirectory **/libnumrec**, runs make clean, and make LIBLITE (to clear objects and create library libnumreclite.a and moves the library to the **../src** subdirectory 
 +              - Creates deployment directory defined in **SPECTCLDEPLOY=/user/s800/s800spectcl_deploy**, along with subdirectories **/src**, **/Windows** and **/Definitions**. 
 +              - Moves "control" tcl files from Main directory into **/user/s800/s800spectcl_deploy**, along with files from **/src** directory; SpecTcl windows files to **/Windows** and s800xdt.tcl to **/Definitions**.
 +              - Compresses directory **/user/s800/s800spectcl_deploy** (''tar -zcvf $(HOME)/s800spectcl_deploy.tar.gz $(SPECTCLDEPLOY)'')
 +              - Removes **/user/s800/s800spectcl_deploy**
 +  - The compressed file s800spectcl_deploy.tar.gz is located in the home directory **/user/s800** and can now be distributed to any user
  
  
  
s800_spectcl.1386872749.txt.gz · Last modified: 2013/12/12 13:25 by pereira