Skip to content

tck199732/amd_analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

amd_analysis

Background This repository contains codes for analyzing the output of the 'Antisymmetrized Molecular Dynamics (AMD)' simulations. Events and particles are selected and compared to experimental data from NSCL E15190.

Table of contents

  1. Installation
  2. Structure of the repository
  3. Procedures
  4. Notes on analysis
  5. Other Executable

1. Installation

git clone https://github.com/tck199732/amd_analysis.git

2. Structure of the repository

This repository is developed in Python 3.8.10 and C++17 (-std=c++17 in GCC 9.4.0).

  • database/: For storing all the experimental data and parameters.
  • src/: C++ source files for analyzing output of AMD simulation.
  • bin/: C++ main program for converting AMD output to ROOT format and apply experimental filter.
  • analysis/: C++ main program for analyzing output of AMD simulation.
  • pyamd/: python source files for analyzing output from C++ main program.
  • build.py: For setting up conda environment with ROOT ver 6.26.06, see environment.yml.

3. Procedures

The starting point of the analysis is the raw output file from AMD simulation, i.e. table21.dat and table3.dat. In case we want to analyze the spacetime of last interation, we would also need the hist_coll.dat and amdgid.dat which contains info of collision history and the correspondance between nucleon global ID and primary particle.

  • Convert table21.dat and table3.dat to table21.root and table3.root by using the main program amd2root.cpp.
cd ${project_dir}/bin
g++ amd2root.cpp -o amd2root.exe -I`root-config --libs --glibs --cflags` -I../src
./amd2root {reaction} {mode}, {path_input}, {path_output}

where reaction refers to the reaction system such as 'Ca40Ni58E140', mode refers to analysis mode ('21', '3', '21t'), etc

  • It is easy to write a script for analysis for pure simulation without experimental constraint. To compare AMD result with experiment, one needs to filter the events using ExpFilter program. For e15190, run
cd {project_dir}/bin
g++ filter_e15190.cpp -o filter_e15190.exe -I`root-config --libs --glibs --cflags` -I${project_dir}/src
./filter_e15190 {reaction} {mode} {path_output} {path_data1} {path_data1} ...
  • You are ready to run the main analysis program in ${project_dir}/analysis

Notes on Analysis

  • Centrality Analysis : To compare result with E15190 experiment, one has to determine the centrality by charged-particle multiplicity and should abandon the impact parameter in the simulation. To achieve this goal, we need to calculate the differential cross section of impact parameter and construct centrality $\bhat$ based on Sean's thesis.

  • Spectra analysis : The simulations are done in two mode : "21" and "3" which correspond to primary particles and seqential decay respectively. The mode "3" are ran such that 10 events are generated for each primary event for statistics reason.

    • Although the bin content would be more accurate, the error calculation would not be correct as these 10 decays are not entirely independent. Hence, one should fill an extra histogram in ROOT which accounts for only 1 seqential decay for each primary events. Such calculation of the error would be a good approximation for the final histogram.

    • Table21 and Table3 would be read simultaneous for analysis with experimental filter. For each primary event, 10 events with seqential decay will be firstly analyzed with weight = 1 / 10. Among these 10 events, n of them will pass the experimental filter. The weight in primary event will be n / 10. In this way, we can compare the primary spectra corresponding to the "seqeutial spectra".

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages