Mc-single-arm (R-SIDIS version)
From HallCWiki
Jump to navigationJump to searchSetting up mc-single-arm (R-SIDIS version)
Git suff
- Setup a github.com account
- Fork the mc-single-arm repository: https://github.com/JeffersonLab/mc-single-arm
- Optionally select Watch to be notified of changes to mc-single-arm
- Setup ssh keys on ifarm or other machines
- Generate ssh key if you do not have one.
- ssh-keygen -t rsa ( when prompted for pass phrase just hit return )
- 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
- Open the "Settings" in the pull down menu on the extreme right.
- 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.
- On the computer that you plan to run and develop the analyzer, type either:
git clone git@github.com:GitHub-Username/mc-single-arm.git
where GitHub-Username is the name of the account that you created.git clone https://github.com/GitHub-Username/mc-single-arm.git
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
cd mc-single-arm
- Do
git remote -v
and it should return (https://github.com/ could be git@github.com:)
origin https://github.com/Github-UserName/mc-single-arm.git (fetch)
origin https://github.com/Github-UserName/mc-single-arm.git (pull) - Execute the command
git remote add --track rctables upstream https://github.com/JeffersonLab/hcana
orgit remote add --track rctables upstream git@github.com:JeffersonLab/mc-single-arm
This will be needed to keep your forked copy and local machine copy of the code up to date with the main development repository. - Note that we are using a special branch of mc-single-arm. Make sure you are working in the rctables branch:
git checkout rctables
- If the rctables 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/rctables git push origin rctables
Compiling and configuring
- To compile mc-single-arm on the ifarm machines, simply type
make
in the mc-single-arm/src directory - There are "helper" applications in the
util
subdirectory that convert the mc-single-arm output to PAW ntuples or ROOT trees. I'm assuming everyone would rather use ROOT trees.- Go to the
util/root_tree
subdirectory and typemake
- 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.
- Go to the
- The
worksim
subdirectory of themc-single-arm
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 aworksim
directory on the work disk, and making a symlink. In themc-single-arm
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/single_arm_worksim
- Make a symbolic link to that directory:
ln -s /work/hallc/c-rsidis/My-Username/single_arm_worksim worksim
- Remove your existing (local) worksim directory: