82 lines
2.9 KiB
Markdown
82 lines
2.9 KiB
Markdown
# Introduction
|
|
|
|
This is the analysis package for the SOLARIS DAQ. It is supposed to be the analysis path for the SOLARIS DAQ.
|
|
|
|
The folder struture is
|
|
|
|
Analysis
|
|
├── README.md
|
|
├── SetupNewExp // bash script to create new branch and raw data folder
|
|
├── SOLARIS.sh // bash script to define some env variable and functions
|
|
├── Armory // analysis codes, independent from experiment.
|
|
├── Cleopatra // Swaper for DWBA code Ptolomey and simulation
|
|
├── data_raw // should be the symbolic link to the raw data, created by SetUpNewExp
|
|
├── root_data // symbolic link to converted root file, created by SetUpNewExp
|
|
└── working // working directory, depends on experiment.
|
|
|
|
# SOLARIS.sh
|
|
|
|
this batch shell script adds few enviroment variables and functions. Add the Armory and Cleopatra into the system PATH.
|
|
|
|
```sh
|
|
>source SOLARIS.sh
|
|
```
|
|
|
|
# Event Builder
|
|
|
|
Please download the SOLARIS_DAQ, under the Aux directory, make, and link the EventBuilder to Armory.
|
|
|
|
The reason for having EventBuilder in the DAQ code is the Hit.h is original from the DAQ code.
|
|
|
|
# ROOT issue
|
|
|
|
We are still using TProof for parallel calculation. TProof is not pre-compiled since 6.32+. And 6.30 only precompiled for Ubuntu 22.04. So, for system using Ubuntu 24.04, user must precompiled to root in order to work.
|
|
|
|
## Compilation
|
|
|
|
We can manual download the git repository of the root following the instruction. in the cmake
|
|
|
|
```sh
|
|
root_install="/opt/root_v6.32.00_compiled"
|
|
root_src="root_src"
|
|
root_build="root_build"
|
|
cmake -DCMAKE_INSTALL_PREFIX=$root_install $root_src -Dproof=ON -Dmathmore=ON
|
|
sudo cmake --build . --target install -j <number_of_threads>
|
|
```
|
|
|
|
# Analysis & Simulation
|
|
|
|
The Armory/AnalysisLib.h constains many small but handy functions.
|
|
|
|
All class headers are started with Class*.h
|
|
|
|
The classes **DetGeo**** and **ReactionConfig** are fundamental for loading the detectorGeo.txt and reactionConfig.txt.
|
|
|
|
Both txt file support empty lines, can have multiple settings. The reason for that is for many-array configuration.
|
|
|
|
The **TransferReaction** class is only use one of the reaction from the reactionConfig.txt. This class generates the TLorentzVector for ligh and heavy recoils.
|
|
|
|
```C++
|
|
TransferReaction::SetReactionFromFile("reactionConfig.txt", ID); // ID = 0 or 1
|
|
```
|
|
Same for the **Helios** class, **Helios** class use the detectorGeo.txt. It takes TLorentzVector and calculate does it be detected by the array or recoil detector.
|
|
|
|
```C++
|
|
HELIOS::SetDetectorGeometry("detectorGeo.txt", ID); // ID = 0 or 1
|
|
```
|
|
|
|
## Simulation
|
|
|
|
Simply run
|
|
```sh
|
|
>SimTransfer
|
|
```
|
|
|
|
it will digest the detectorGeo.txt, reactionConfig.txt, if DWBA.root exist, find the reactions.
|
|
|
|
* it does not have TargetScattering (yet)
|
|
* for multiple reactions, it will randomly use any and disregard the total Xsec of different reactions. The Xsec only takes effect within same reaction.
|
|
* the decay of heavy recoil only have isotropic decay.
|
|
|
|
|