Difference between revisions of "Setting up SIMC"

From HallCWiki
Jump to navigationJump to search
 
(20 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Setting up SIMC ==
 
== Setting up SIMC ==
=== Github suff  ===
+
=== Git suff  ===
 
* Setup a github.com account
 
* Setup a github.com account
 
* Fork the simc_gfortran repository: https://github.com/JeffersonLab/simc_gfortran
 
* Fork the simc_gfortran repository: https://github.com/JeffersonLab/simc_gfortran
 
**Optionally select '''Watch''' to be notified of changes to simc_gfortran.
 
**Optionally select '''Watch''' to be notified of changes to simc_gfortran.
 
* Setup ssh keys on ifarm or other machines
 
* Setup ssh keys on ifarm or other machines
##Generate ssh key if you do not have one.
+
#Generate ssh key if you do not have one.
###ssh-keygen -t rsa  ( when prompted for pass phrase just hit return )
+
##ssh-keygen -t rsa  ( when prompted for pass phrase just hit return )
###ssh-add ~/.ssh/id_rsa
+
##ssh-add ~/.ssh/id_rsa (Note: I got an error message when I tried this on the ifarm machines, but it seemed to have worked anyway.)
##Put ssh public key on Github
+
#Put ssh public key on Github
### Open the "Settings" in the pull down menu on the extreme right.
+
## Open the "Settings" in the pull down menu on the extreme right.
### Go to "SSH and GPG keys"
+
## Go to "SSH and GPG keys"
### Click on "new ssh key" button. At terminal type "more ~/.ssh/id_rsa.pub". Copy the code and paste into github.
+
## Click on "new ssh key" button. At terminal type "more ~/.ssh/id_rsa.pub". Copy the code and paste into github.
 +
*On the computer that you plan to run and develop the analyzer, type either:
 +
#<br><code>git clone git@github.com:''GitHub-Username''/simc_gfortran.git</code><br> where ''GitHub-Username'' is the name of the account that you created.
 +
#<br><code>git clone https://github.com/''GitHub-Username''/simc_gfortran.git</code><br> where ''GitHub-Username'' is the name of the account that you created.
 +
# Note: I suggest doing this in your personal directory on the r-sidis group disk: /group/c-rsidis/''My-Username''
 +
# On cdaq machines you must use https.
 +
#Do <br><code>cd simc_gfortran</code>
 +
#Do <br><code>git remote -v</code> and it should return (''https://github.com/ could be git@github.com:'')<br>origin https://github.com/''Github-UserName''/simc_gfortran.git (fetch)<br>origin https://github.com/''Github-UserName''/simc_gfortran.git (pull)
 +
#Execute the command<br><code>git remote add --track master upstream https://github.com/JeffersonLab/hcana</code><br> or <br><code>git remote add --track master upstream git@github.com:JeffersonLab/simc_gfortran</code><br> This will be needed to keep your forked copy and local machine copy of the code up to date with the main development repository.
 +
# If the master branch on the main repository ( your "upstream" repository) changes and you want to incorporate these changes in your local copy then follow these steps:
 +
  git fetch upstream
 +
  git merge upstream/master
 +
  git push origin master
 +
==Compiling and configuring==
 +
* To compile simc on the ifarm machines, simply type <code>make</code> in the simc_gfortran directory
 +
* There are "helper" applications in the <code>util</code> subdirectory that convert the simc output to PAW ntuples or ROOT trees. I'm assuming everyone would rather use ROOT trees. 
 +
** Go to the <code>util/root_tree</code> subdirectory and type <code>make</code>
 +
** Note that the "make_root_tree" application uses ROOT version 6.30.04 when compiling. If you load a different version when you log into ifarm, this may cause problems.
 +
* The <code>worksim</code> subdirectory of the <code>simc_gfortran</code> directory will be the destination for the sometimes large output ROOT trees.  The group disk is not meant for large files, so I suggest making a <code>worksim</code> directory on the work disk, and making a symlink. In the <code>simc_gfortran</code> directory:
 +
** Remove your existing (local) worksim directory: <code>rm -r worksim</code>
 +
** Then make a worksim directory on the work disk: <code>mkdir /work/hallc/c-rsidis/''My-Username''/simc_worksim</code>
 +
** Make a symbolic link to that directory: <code>ln -s /work/hallc/c-rsidis/''My-Username''/simc_worksim worksim</code>

Latest revision as of 16:18, 15 February 2025

Setting up SIMC

Git suff

  1. Generate ssh key if you do not have one.
    1. ssh-keygen -t rsa ( when prompted for pass phrase just hit return )
    2. ssh-add ~/.ssh/id_rsa (Note: I got an error message when I tried this on the ifarm machines, but it seemed to have worked anyway.)
  2. Put ssh public key on Github
    1. Open the "Settings" in the pull down menu on the extreme right.
    2. Go to "SSH and GPG keys"
    3. Click on "new ssh key" button. At terminal type "more ~/.ssh/id_rsa.pub". Copy the code and paste into github.
  • On the computer that you plan to run and develop the analyzer, type either:

  1. git clone git@github.com:GitHub-Username/simc_gfortran.git
    where GitHub-Username is the name of the account that you created.

  2. git clone https://github.com/GitHub-Username/simc_gfortran.git
    where GitHub-Username is the name of the account that you created.
  3. Note: I suggest doing this in your personal directory on the r-sidis group disk: /group/c-rsidis/My-Username
  4. On cdaq machines you must use https.
  5. Do
    cd simc_gfortran
  6. Do
    git remote -v and it should return (https://github.com/ could be git@github.com:)
    origin https://github.com/Github-UserName/simc_gfortran.git (fetch)
    origin https://github.com/Github-UserName/simc_gfortran.git (pull)
  7. Execute the command
    git remote add --track master upstream https://github.com/JeffersonLab/hcana
    or
    git remote add --track master upstream git@github.com:JeffersonLab/simc_gfortran
    This will be needed to keep your forked copy and local machine copy of the code up to date with the main development repository.
  8. If the master branch on the main repository ( your "upstream" repository) changes and you want to incorporate these changes in your local copy then follow these steps:
  git fetch upstream
  git merge upstream/master
  git push origin master

Compiling and configuring

  • To compile simc on the ifarm machines, simply type make in the simc_gfortran directory
  • There are "helper" applications in the util subdirectory that convert the simc output to PAW ntuples or ROOT trees. I'm assuming everyone would rather use ROOT trees.
    • Go to the util/root_tree subdirectory and type make
    • Note that the "make_root_tree" application uses ROOT version 6.30.04 when compiling. If you load a different version when you log into ifarm, this may cause problems.
  • The worksim subdirectory of the simc_gfortran directory will be the destination for the sometimes large output ROOT trees. The group disk is not meant for large files, so I suggest making a worksim directory on the work disk, and making a symlink. In the simc_gfortran directory:
    • Remove your existing (local) worksim directory: rm -r worksim
    • Then make a worksim directory on the work disk: mkdir /work/hallc/c-rsidis/My-Username/simc_worksim
    • Make a symbolic link to that directory: ln -s /work/hallc/c-rsidis/My-Username/simc_worksim worksim