SimTransfer: add AllExList and ExID_ReactID_List in output root
This commit is contained in:
parent
4b2598b0b6
commit
1c140d07fc
137
.vscode/settings.json
vendored
137
.vscode/settings.json
vendored
|
@ -1,139 +1,12 @@
|
|||
{
|
||||
"files.associations": {
|
||||
"script.C": "cpp",
|
||||
"SOLARIS_Qt6_DAQ.pro": "makefile",
|
||||
"qlineseries": "cpp",
|
||||
"cctype": "cpp",
|
||||
"clocale": "cpp",
|
||||
"cmath": "cpp",
|
||||
"cstdarg": "cpp",
|
||||
"cstddef": "cpp",
|
||||
"cstdio": "cpp",
|
||||
"cstdlib": "cpp",
|
||||
"cstring": "cpp",
|
||||
"ctime": "cpp",
|
||||
"cwchar": "cpp",
|
||||
"cwctype": "cpp",
|
||||
"array": "cpp",
|
||||
"atomic": "cpp",
|
||||
"bit": "cpp",
|
||||
"*.tcc": "cpp",
|
||||
"chrono": "cpp",
|
||||
"codecvt": "cpp",
|
||||
"compare": "cpp",
|
||||
"concepts": "cpp",
|
||||
"condition_variable": "cpp",
|
||||
"cstdint": "cpp",
|
||||
"deque": "cpp",
|
||||
"list": "cpp",
|
||||
"map": "cpp",
|
||||
"string": "cpp",
|
||||
"unordered_map": "cpp",
|
||||
"unordered_set": "cpp",
|
||||
"vector": "cpp",
|
||||
"exception": "cpp",
|
||||
"algorithm": "cpp",
|
||||
"functional": "cpp",
|
||||
"iterator": "cpp",
|
||||
"memory": "cpp",
|
||||
"memory_resource": "cpp",
|
||||
"numeric": "cpp",
|
||||
"optional": "cpp",
|
||||
"random": "cpp",
|
||||
"ratio": "cpp",
|
||||
"string_view": "cpp",
|
||||
"system_error": "cpp",
|
||||
"tuple": "cpp",
|
||||
"type_traits": "cpp",
|
||||
"utility": "cpp",
|
||||
"future": "cpp",
|
||||
"initializer_list": "cpp",
|
||||
"iomanip": "cpp",
|
||||
"iosfwd": "cpp",
|
||||
"iostream": "cpp",
|
||||
"istream": "cpp",
|
||||
"limits": "cpp",
|
||||
"mutex": "cpp",
|
||||
"new": "cpp",
|
||||
"numbers": "cpp",
|
||||
"ostream": "cpp",
|
||||
"semaphore": "cpp",
|
||||
"span": "cpp",
|
||||
"sstream": "cpp",
|
||||
"stdexcept": "cpp",
|
||||
"stop_token": "cpp",
|
||||
"streambuf": "cpp",
|
||||
"thread": "cpp",
|
||||
"cinttypes": "cpp",
|
||||
"typeinfo": "cpp",
|
||||
"variant": "cpp",
|
||||
"qdatetime": "cpp",
|
||||
"fstream": "cpp",
|
||||
"allocator": "cpp",
|
||||
"qsignalmapper": "cpp",
|
||||
"GeneralSort.C": "cpp",
|
||||
"ChainMonitors.C": "cpp",
|
||||
"GeneralSortAgent.C": "cpp",
|
||||
"readRawTrace.C": "cpp",
|
||||
"readTrace.C": "cpp",
|
||||
"Cleopatra.C": "cpp",
|
||||
"alpha.C": "cpp",
|
||||
"DWBA_compare.C": "cpp",
|
||||
"DWBARatio.C": "cpp",
|
||||
"ExtractXSec.C": "cpp",
|
||||
"ExtractXSecFromText.C": "cpp",
|
||||
"FindThetaCM.C": "cpp",
|
||||
"InFileCreator.C": "cpp",
|
||||
"IsotopeShort.C": "cpp",
|
||||
"knockout.C": "cpp",
|
||||
"PlotSimulation.C": "cpp",
|
||||
"PlotTGraphTObjArray.C": "cpp",
|
||||
"transfer_test.C": "cpp",
|
||||
"Transfer.C": "cpp",
|
||||
"Simulation_Helper.C": "cpp",
|
||||
"Check_Simulation.C": "cpp",
|
||||
"AutoFit.C": "cpp",
|
||||
"__hash_table": "cpp",
|
||||
"__split_buffer": "cpp",
|
||||
"__tree": "cpp",
|
||||
"bitset": "cpp",
|
||||
"stack": "cpp",
|
||||
"Monitor.C": "cpp",
|
||||
"DataHoSei.C": "cpp",
|
||||
"Monitors.C": "cpp",
|
||||
"__bit_reference": "cpp",
|
||||
"__bits": "cpp",
|
||||
"__config": "cpp",
|
||||
"__debug": "cpp",
|
||||
"__errc": "cpp",
|
||||
"__locale": "cpp",
|
||||
"__mutex_base": "cpp",
|
||||
"__node_handle": "cpp",
|
||||
"__nullptr": "cpp",
|
||||
"__string": "cpp",
|
||||
"__threading_support": "cpp",
|
||||
"__tuple": "cpp",
|
||||
"complex": "cpp",
|
||||
"forward_list": "cpp",
|
||||
"ios": "cpp",
|
||||
"locale": "cpp",
|
||||
"__verbose_abort": "cpp",
|
||||
"Monitors_Util.C": "cpp",
|
||||
"Monitor_Util.C": "cpp",
|
||||
"script_single.C": "cpp",
|
||||
"script_multi.C": "cpp",
|
||||
"Isotope.C": "cpp",
|
||||
"classisotope.h": "c",
|
||||
"knockoutSim.C": "cpp",
|
||||
"test.C": "cpp",
|
||||
"SimTransfer.C": "cpp",
|
||||
"httpaccess.C": "cpp",
|
||||
"httpcontrol.C": "cpp",
|
||||
"SimTransfer2.C": "cpp",
|
||||
"haha.C": "cpp",
|
||||
"SimTransfer_2.C": "cpp"
|
||||
"detectorGeo.txt": "shellscript",
|
||||
"reactionConfig.txt": "shellscript",
|
||||
"DWBA": "shellscript",
|
||||
"*.C": "cpp"
|
||||
},
|
||||
|
||||
"C_Cpp.autoAddFileAssociations": false,
|
||||
"better-comments.multilineComments": true,
|
||||
"better-comments.tags" : [
|
||||
{
|
||||
|
|
|
@ -97,6 +97,7 @@ void Transfer(
|
|||
TMacro dwbaReactList_Used;
|
||||
|
||||
bool useDWBA[numTransfer];
|
||||
for( int i = 0; i < numTransfer; i++ ) useDWBA[i] = false;
|
||||
|
||||
if( distFile->IsOpen() ) {
|
||||
printf("\e[32m#################################### Load DWBA input : %s \e[0m\n", ptolemyRoot.Data());
|
||||
|
@ -182,6 +183,20 @@ void Transfer(
|
|||
dwbaReactList_Used.Write("DWBA_ReactionList", 1);
|
||||
}
|
||||
|
||||
TMacro allExList;
|
||||
allExList.AddLine("#---Ex relative_xsec SF sigma_in_MeV");
|
||||
TMacro exIDReactIDList; //list of all ex and corresponding Reaction ID
|
||||
exIDReactIDList.AddLine("#-- ExID ReactionID");
|
||||
for( int i = 0; i < numTransfer; i++){
|
||||
std::vector<EnergyLevel> tempExList = transfer[i].GetExList()->ExList;
|
||||
for( size_t j = 0; j < tempExList.size(); j++){
|
||||
allExList.AddLine(Form("%9.5f %9.5f %3.1f %5.3f", tempExList[j].Ex, tempExList[j].xsec, tempExList[j].SF, tempExList[j].sigma));
|
||||
exIDReactIDList.AddLine(Form("%ld %d", j, i));
|
||||
}
|
||||
}
|
||||
|
||||
allExList.Write("AllExList");
|
||||
exIDReactIDList.Write("ExID_ReactID_List");
|
||||
|
||||
TMacro hitMeaning;
|
||||
hitMeaning.AddLine("======================= meaning of Hit\n");
|
||||
|
@ -372,7 +387,7 @@ void Transfer(
|
|||
delete [] gx;
|
||||
delete gList;
|
||||
|
||||
//--- cal modified f
|
||||
//--- cal E-Z curve with finite detector correction
|
||||
int numEx = 0;
|
||||
for( int i = 0; i < numTransfer; i++){
|
||||
if( !listOfTransfer[i] ) continue;
|
||||
|
|
|
@ -3,7 +3,7 @@ CFLAG = -O2
|
|||
|
||||
depend = ClassTransfer.h ClassHelios.h ClassIsotope.h ClassDecay.h constant.h potentials.h
|
||||
|
||||
ALL = Isotope InFileCreator ExtractXSec ExtractXSecFromText PlotTGraphTObjArray Cleopatra FindThetaCM SimTransfer SimTransfer_single SimAlpha
|
||||
ALL = Isotope InFileCreator ExtractXSec ExtractXSecFromText PlotTGraphTObjArray Cleopatra FindThetaCM SimTransfer SimAlpha
|
||||
|
||||
all: $(ALL)
|
||||
|
||||
|
|
48
README.md
48
README.md
|
@ -14,10 +14,36 @@ Analysis
|
|||
├── 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.
|
||||
|
@ -26,28 +52,30 @@ 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, and up to 2 settings. The reason for that is for dual-array configuration. It has potentail to extend and include more settings. But it is two now, one for upstream array (reaction) and downstream array (reaction).
|
||||
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.
|
||||
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
|
||||
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
|
||||
|
||||
# Event Builder
|
||||
Simply run
|
||||
```sh
|
||||
>SimTransfer
|
||||
```
|
||||
|
||||
The EventBuilder is at the armory. It depends on the Hit.h and SolReader.h.
|
||||
it will digest the detectorGeo.txt, reactionConfig.txt, if DWBA.root exist, find the reactions.
|
||||
|
||||
## Hit.h
|
||||
* 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.
|
||||
|
||||
The Hit class stores a hit (or a data block)
|
||||
|
||||
## SolReader.h
|
||||
|
||||
The SolReader class read the sol file. It can be loaded in CERN ROOT alone.
|
||||
|
|
Loading…
Reference in New Issue
Block a user