Software

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/

Cloning a repository
     git clone <repository address>

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

./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. 

The only required option is --events The default energy is 5 GeV. The generator is built using Make

     make generator

example

./generator --events 50000 --compton 1 --halo 0 --energy 11 --filename 11GeV-no-halo.txt

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

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

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

   ./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.

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

   ./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.