Project

General

Profile

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>