Ricochet

From LZ Computing
Jump to navigation Jump to search

The instructions on this page assume that you already have a local computing account; if not, see First Steps for New Users.

Getting Started

The following Ricochet accounts are needed

Slack

Please contact Kim Palladino to send you an invitation to join Ricochet on Slack.

Basecamp

Sign in here.

Ricochet email list from MIT

Reading list

Coherent Neutrino Scattering with Low Temperature Bolometers at Chooz Reactor Complex.
J.Billard (Lyon, IPN) et al..  Dec 25, 2016.  13 pp.
e-Print: arXiv:1612.09035 [physics.ins-det] https://arxiv.org/pdf/1612.09035.pdf
Sterile Neutrinos, Coherent Scattering and Oscillometry Measurements with Low-temperature Bolometers.
Joseph A. Formaggio, E. Figueroa-Feliciano, A.J. Anderson (MIT, LNS).  Jul 2011.  14 pp.
Published in Phys.Rev. D85 (2012) 013009.
e-Print: arXiv:1107.3512 [hep-ph] https://arxiv.org/pdf/1107.3512.pdf
    • DEPRECATED: Updated Twiki in progress.**

RAT for Ricochet

1. Install Prerequisites - Before downloading RAT, make sure you install the software packages in this order.

2. Download RAT - Run git clone in your working directory. This puts RAT in a new directory called rat.

3. Set up ROOT and GEANT4

  • By sourcing their respective environment scripts: $ROOTSYS/bin/thisroot.sh and $G4INSTALL/geant4.10.01.p02-build/InstallTreeFiles/geant4.sh

4. Run the following commands (in the rat directory) to build RAT

# Run configure script
./configure # Setup Environment
source env.sh # Compile
scons

SUMMARY OF STEPS FOR EVERY LOGIN SESSION

cd /afs/hep.wisc.edu/ddm/ratcage
source env.sh

Note: The sourcing of env.sh only has to be done once per login session.


Example testCfneutrons.mac

# Set environment variables with
source /afs/hep.wisc.edu/ddm/ratcage/env.sh # The neutron detector at the MIT reactor geometry is at
cd /afs/hep.wisc.edu/ddm/ratcage/rat/data/Ricochet/NCD_MITR.geo
# and other info is in the /data directory (MATERIALS, SPECTRUM, ELEMENTS) # Run the macro example by typing
rat testCfneutrons.mac
# You will see an output root file and it is useful to make a ROOT program to make histograms from it # To see the outcome plots, you need to execute makeNeutronPlotsNCD.C # Follow these commands root -l root[0] .L makeNeutronPlotsNCD.C+ root[1] makeNeutronPlotsNCD("testNeutronCf.root","histTestneutronCfNew.root")

You can learn a lot about a ROOT file with the TBrowser() but it's all listed in https://deapclean.org/rat/trac/wiki/UserGuide/DataStructure/MC

Useful RAT info




New

GitLab: https://git.ipnl.in2p3.fr/ricochet/

The following is a work in progress.


  1. Research Notes
    1. Installation

Sourcing environment for ROOT and RicochetSim

```bash source /afs/hep.wisc.edu/ddm/Ricochet/env.sh; source /cvmfs/sft.cern.ch/lcg/releases/gcc/7.3.0-cb1ee/x86_64-centos7/setup.sh ```

make a `build` directory in `/SimuAnalysis/`

from `/SimuAnalysis/build` directory

    • CMake Step**

Run the following

```bash cmake -DCMAKE_INSTALL_PREFIX=/afs/hep.wisc.edu/users/decheine/myapps -DCMAKE_CXX_FLAGS=-isystem\ /afs/hep.wisc.edu/ddm/Ricochet/CLHEP_dir/build .. ```

or whatever install directory you'd want, the default is /usr/local.









Installation

Sourcing environment for ROOT and RicochetSim

```bash source /afs/hep.wisc.edu/ddm/Ricochet/env.sh; source /cvmfs/sft.cern.ch/lcg/releases/gcc/7.3.0-cb1ee/x86_64-centos7/setup.sh ```

make a `build` directory in `/SimuAnalysis/`

from `/SimuAnalysis/build` directory

    • CMake Step**

Run the following

```bash cmake -DCMAKE_INSTALL_PREFIX=/afs/hep.wisc.edu/users/decheine/myapps -DCMAKE_CXX_FLAGS=-isystem\ /afs/hep.wisc.edu/ddm/Ricochet/CLHEP_dir/build .. ```

or whatever install directory you'd want, the default is /usr/local.




      1. Notes on Installation
        1. Misc. Util commands

List the sizes and sort directories

> du -h --max-depth=1 | sort -hr


```bash source /afs/hep.wisc.edu/ddm/Ricochet/env.sh; source /cvmfs/sft.cern.ch/lcg/releases/gcc/7.3.0-cb1ee/x86_64-centos7/setup.sh ```

        1. Workaround Commands

These three are run after cmake is run. With new branch, these might not be needed

```bash find CMakeFiles/*.dir/link.txt -type f -exec grep -l "/builds/deployment/deploy-externals/build/lib" {} \; | xargs sed -i 's/\/builds\/deployment\/deploy\-externals\/build\/lib/\/cvmfs\/lz.opensciencegrid.org\/external\/ROOT\/6.16.00\/x86_64-centos7-gcc7-opt\/lib/g'; find CMakeFiles/*.dir/build.make -type f -exec grep -l "/builds/deployment/deploy-externals/build/lib" {} \; | xargs sed -i 's/\/builds\/deployment\/deploy\-externals\/build\/lib/\/cvmfs\/lz.opensciencegrid.org\/external\/ROOT\/6.16.00\/x86_64-centos7-gcc7-opt\/lib/g'; find CMakeFiles/*.dir/flags.make -type f -exec grep -l "++1z" {} \; | xargs sed -i 's/++1z/++17/g'; find CMakeFiles/*.dir/flags.make -type f -exec grep -l "++14" {} \; | xargs sed -i 's/++14/++17/g' ```

and for RicochetSim


```bash find */CMakeFiles/*.dir/link.txt -type f -exec grep -l "/builds/deployment/deploy-externals/build/lib" {} \; | xargs sed -i 's/\/builds\/deployment\/deploy\-externals\/build\/lib/\/cvmfs\/lz.opensciencegrid.org\/external\/ROOT\/6.16.00\/x86_64-centos7-gcc7-opt\/lib/g'; find */CMakeFiles/*.dir/build.make -type f -exec grep -l "/builds/deployment/deploy-externals/build/lib" {} \; | xargs sed -i 's/\/builds\/deployment\/deploy\-externals\/build\/lib/\/cvmfs\/lz.opensciencegrid.org\/external\/ROOT\/6.16.00\/x86_64-centos7-gcc7-opt\/lib/g'; find CMakeFiles/*.dir/flags.make -type f -exec grep -l "++1z" {} \; | xargs sed -i 's/++1z/++17/g'; find CMakeFiles/*.dir/flags.make -type f -exec grep -l "++14" {} \; | xargs sed -i 's/++14/++17/g' ```


    • CLHEP Fix**

add `-DCMAKE_CXX_FLAGS=-isystem\ /afs/hep.wisc.edu/ddm/Ricochet/CLHEP_dir/build` flag to the cmake call



In SimuEventDisplay.dir/build.make, line 82 has

``` d SimuEventDisplay: /cvmfs/sft.cern.ch/lcg/releases/gcc/7.3.0-cb1ee/x86_64-centos7/include/TEveManager.h ```

Maybe this should be

    • WORKING** Added "ROOT::Eve" to both include statements

Two header files that are misbehaving are Counter.h and SimuHisto.h

GOT IT. NEED TO PUT `${PROJECT_NAME}$` at the end of the second 'target_link_libraries(...)'


rule to replace /builds/deployment/deploy-externals/build/lib/ with /cvmfs/lz.opensciencegrid.org/external/ROOT/6.16.00/x86_64-centos7-gcc7-opt/



        1. Directories

Cmake binary

/afs/hep.wisc.edu/ddm/Ricochet/cmake-3.12.1/bin

CXX Compiler

/cvmfs/cms.cern.ch/slc6_amd64_gcc530/external/gcc/5.3.0/bin/c++ Using

```bash cmake -DCMAKE_CXX_FLAGS=-isystem\ /afs/hep.wisc.edu/ddm/Ricochet/CLHEP_dir/build -DCMAKE_CXX_COMPILER=/cvmfs/cms.cern.ch/slc6_amd64_gcc530/external/gcc/5.3.0/bin/c++ .. ```

Fixes the "string_view" problem and makes it compile with c++ 17. or not i guess

    • String_view problem** just delete build folder, and make sure to include

```cmake set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) ```

do cmake again

ROOT

/cvmfs/lz.opensciencegrid.org/external/ROOT/6.16.00/x86_64-centos7-gcc7-opt/


This needs to be in the include directory: /cvmfs/lz.opensciencegrid.org/external/ROOT/6.16.00/x86_64-centos7-gcc7-opt/include/


        1. Procedures

Listed here are some miscellaneous commands and tricks that may be useful.


In root, get the include path with `root[] .I`

To search a directory `path `in linux for files that contain text `"string"`,

``` bash grep -rl "string" /path ```

List the ROOT LIBRARIES

```bash root-config --glibs ```