Software » History » Revision 3
Revision 2 (Joshua Hoskins, 10/17/2017 12:37 PM) → Revision 3/5 (Alexandre Camsonne, 07/12/2018 04:08 PM)
h1. Software
h1. EIC Compton Electron Detector Simulation Analysis Software
All software is available from my github account (instructions below). Please forward all desired functionality and bug reports to me by filing an issue on github.
A great reference to get you started using git can be found here: http://rogerdudler.github.io/git-guide/
<pre>
Cloning a repository
git clone <repository address>
</pre>
**Compton Generator**
Required libraries: ROOT (https://root.cern.ch/) tested with ROOT 5.34 and gcc 4.8.3
Repository:
https://github.com/jrhosk/EIC-Compton-Generator.git
<pre>
./generator <options>
--filename <string> Sets the name of the output file.
--polarization <double> Sets the polarization of the events to be generated. Values range from -1 to 1.
--energy <double> Sets the energy of the incoming electrons.
--sigmax <double> Sets the beam size in the x-direction (cm).
--sigmay <double> Sets the beam size in the y-direction (cm).
--events <int> The number of events to be generated.
</pre>
The only required option is __--events__ The default energy is 5 GeV. The generator is built using Make
<pre>
make generator
</pre>
**Compton Asymmetry Fit**
Required libraries: BOOST C++ libraries (http://www.boost.org/doc/libs/1_48_0/index.html), ROOT (https://root.cern.ch/)
Repository:
https://github.com/jrhosk/comptonfit.git
<pre>
Configuration Files
The fitting runs using parameters from external configuration files found in config/. You will need to provide at least four config files
all of which must end in '.config'. Two magnet files are required for the EIC chicane setup. The files needed and an explanation of
what each parameter is can be found below.
parameter.config
beam : beam is the beam energy given in GeV
laser: laser energy given in GeV
detector
width : strip width in meters
spacing: strip spacing in meters
theta : detector tilts in radians
x : detector x position in meters
y : detector y position in meters
z : detector z position in meters
magnet
theta : dipole angular tilt in radians
length: dipole length (full) in meters
dipole: dipole strength in T
x : magnet x position in meters
y : magnet y position in meters
z : magnet z position in meters
</pre>
+Installation+
Simply unzip the code in your favorite directory and make sure the ROOT and BOOST environment variables are set properly. The current
default is /usr/lib64/ and /usr/include/. If your libraries are in a different place you will need to either make a symbolic link
or change the directories in the Makefile.
make clean && make
Running the code
<pre>
./comptonfit <options>
--graphics Enables graphical output.
--residuals Calculate and plot residuals of asymmetry fit.
--fit_range <first strip:last strip> Define the range of strips over which the fit will be done.
--pol_range <minimum:max> Define the range of polarization over which the fit will be done.
--compton_range <minimum:max> Define the range of compton edge over which the fit will be done.
</pre>
**Compton Analysis**
Required libraries: BOOST C++ libraries (http://www.boost.org/doc/libs/1_48_0/index.html), ROOT (https://root.cern.ch/)
Repository:
https://github.com/jrhosk/eic_compton_analysis.git
+Installation+
Simply unzip the code in your favorite directory and make sure the ROOT and BOOST environment variables are set properly. The current
default is /usr/lib64/ and /usr/include/. If your libraries are in a different place you will need to either make a symbolic link
or change the directories in the Makefile.
make analysis
Running the code
<pre>
./analysis <options>
--graphics Graphical output flag.
--file <file name> Defines input root file.
--output-file <file name> Defines output root file.
--compton-weight Weighting flag.
--halo-weight Weighting flag.
--background-weight Weighting flag.
--polarization <polarization> Beam polarization.
--energy <energy GeV> Beam energy.
--aperture-size <size cm> Beam energy.
</pre>