Difference between revisions of "NPS Software"

From Cuawiki
Jump to navigation Jump to search
 
(28 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
* [[Meetings#DAQ/ELECTRONICS/ANALYZER|DAQ/Software Meeting Notes]]
 
* [[Meetings#DAQ/ELECTRONICS/ANALYZER|DAQ/Software Meeting Notes]]
  
== Setting up HCANA Instructions ==
+
== Setting up HCANA and NPSlib, nps_replay Instructions ==
 +
=== Git repos  ===
 +
* Setup a github.com account
 
* Fork a git repo from https://github.com/JeffersonLab/hcana
 
* Fork a git repo from https://github.com/JeffersonLab/hcana
*Starting on the cdaql3 machines:
+
* Fork a git repo from https://github.com/JeffersonLab/NPSlib
** login into cdaql3 through the gateway
+
* Fork a git repo from https://github.com/JeffersonLab/nps_replay
** cd /data1/cdaq/eel108
+
===Starting on the cdaqll machine===
** mkdir "name" ( make a subdirectory with your "name")
+
* login into cdaql1 through the gateway
** cd "name"
+
* if you want to use the standard replay type "go_analysis_nps"
** git clone git clone https://github.com/"githubUserName"/hcana
+
* if you do not have a directory and want to do independent analysis
 +
* Create a directory /home/cdaq/Dirname
 +
* Create a directory /home/cdaq/Dirname/nps-2023
 +
* cd /home/cdaq/Dirname/nps-2023
 +
* Setup cmake and ROOT
 +
** module use /apps/modulefiles/
 +
** module load cmake
 +
** source /apps/root/PRO/bin/thisroot.csh
 +
* Setup hcana
 +
** git clone https://github.com/GithubUserName/hcana
 
** cd hcana
 
** cd hcana
 +
** git remote add --track develop upstream https://github.com/JeffersonLab/hcana
 
** git submodule init
 
** git submodule init
 
** git submodule update
 
** git submodule update
** git remote add --track develop upstream https://github.com/JeffersonLab/hcana
+
** cd ..
** scons
+
** cmake -B hcana-build -S hcana -DCMAKE_INSTALL_PREFIX=hcana-install
* Now you have a working hcana binary.
+
** cmake --build hcana-build -j12
 +
** cmake --install hcana-build/
 +
** setenv PATH /home/cdaq/Dirname/nps-2023/hcana-install/bin:$PATH
 +
** If one needs to recompile after making changes in hcana/src
 +
*** cd  hcana-build
 +
*** make install
 +
* Setup NPSlib
 +
** git clone https://github.com/GithubUserName/NPSlib
 +
** cd NPSlib
 +
** git remote add --track main upstream https://github.com/JeffersonLab/NPSlib
 +
** cd ..
 +
** cmake -B NPSlib-build -S NPSlib -DCMAKE_INSTALL_PREFIX=hcana-install
 +
** cmake --build NPSlib-build/
 +
** cmake --install NPSlib-build/
 +
** If one needs to recompile after making changes in NPSlib/src
 +
*** cd  NPSlib-build
 +
*** make install
 +
** setenv LD_LIBRARY_PATH /home/cdaq/Dirname/nps-2023/hcana-install/lib64:$LD_LIBRARY_PATH
 +
* Setup nps_replay
 +
** git clone https://github.com/GithubUserName/nps_replay
 +
** cd nps_replay
 +
** git remote add --track main upstream https://github.com/JeffersonLab/nps_replay
 +
** mkdir /net/cdaq/cdaql1data/cdaq/"name"/ROOTfiles
 +
** ln -sf /net/cdaq/cdaql1data/cdaq/"name"/ROOTfiles ROOTfiles
 +
** mkdir /net/cdaq/cdaql1data/cdaq/"name"/REPORT_OUTPUT
 +
** mkdir /net/cdaq/cdaql1data/cdaq/"name"/REPORT_OUTPUT/NPS
 +
** mkdir /net/cdaq/cdaql1data/cdaq/"name"/REPORT_OUTPUT/NPS/eel108
 +
** ln -sf /net/cdaq/cdaql1data/cdaq/"name"/REPORT_OUTPUT
 +
** ln -sf /cache/mss/hallc/c-nps/raw cache
 +
** ln -sf /net/cdaq/cdaql1data/coda/data/raw raw
 +
** If not setup already and will have to done for every new login
 +
*** setenv PATH /home/cdaq/Dirname/nps-2023/hcana-install/bin:$PATH
 +
*** setenv LD_LIBRARY_PATH /home/cdaq/Dirname/nps-2023/hcana-install/lib64:$LD_LIBRARY_PATH
 +
*** source  /apps/root/PRO/bin/thisroot.csh
 +
** Replay scripts are under the SCRIPTS
 +
 
 +
===Starting on the ifarm machines===
 +
* if you are not in the c-nps group then email jones@jlab.org
 +
** to see what groups you are in type:"groups" when on the CUE machines.
 +
* if you have not set up you own subdirectory:
 +
**cd /group/nps
 +
**mkdir "name" ( make a subdirectory with your "name")
 +
**cd "name"
 +
* if you have subdirectory
 +
** cd /group/nps/"name"
 +
* Following above directions for the cdaq machines to install hcana,NPSlib and nps_replay
 +
* Setup ROOT, cmake
 +
** module use /group/halla/modulefiles
 +
** module load cmake
 +
** module load root
 +
* When setting up the nps_replay use volatile disk instead of /net/cdaq/cdaql1data/cdaq
 +
** mkdir /volatile/hallc/nps/"name"
 +
** mkdir /volatile/hallc/nps/"name"/ROOTfiles
 +
** ln -sf /volatile/hallc/nps/"name"/ROOTfiles ROOTfiles
 +
** mkdir /volatile/hallc/nps/"name"/REPORT_OUTPUT
 +
** mkdir /volatile/hallc/nps/"name"/REPORT_OUTPUT/NPS
 +
** mkdir /volatile/hallc/nps/"name"/REPORT_OUTPUT/NPS/eel108
 +
** ln -sf /volatile/hallc/nps/"name"/REPORT_OUTPUT REPORT_OUTPUT
 +
** ln -sf /cache/mss/hallc/c-nps/raw raw
 +
 
 +
== Analyzing data ==
 +
*on cdaql1
 +
** cd //"name"/nps_replay
 +
* On ifarm
 +
** cd /group/nps/"name"/nps-2023/nps_replay
 +
[[Offline Analysis]]
 +
* hcana
 +
* At the analyzer prompt
 +
**  .x SCRIPTS/NPS/eel108_replay.C(nrun,nevents)
 +
** If events = -1 , then replay all events.
 +
** It is slow because we are reading sample data for all FADc channels for each event
 +
* Root file is output to the ROOTfiles directory.
 +
 
 +
== Notable Software Changes ==
 +
 
 +
Add a running list of major changes and when they were implemented on cdaq and the farm.
 +
NPSlib
 +
hcana
 +
Podd
 +
nps_replay
  
 +
== Location of Replays ==
 +
Path to individual segment replays.
 +
Path to skim replays.
 +
location of report files.
 +
Archives of report files and how to put them on your work disk.
 +
History of updates for farm jobs with run ranges.
  
== Setting up NPS replay directory instructions ==
+
== Analysis info==
* Fork a git repo from https://github.com/JeffersonLab/nps_replay
+
=== Run spreadsheet EEL108 ===
*Starting on the cdaql3 machines:
+
*[https://docs.google.com/spreadsheets/d/1kU-52RVdai3fDjQpo2Kqwj9SlY-qog7pf1k7TkVtuqU/edit?pli=1#gid=0 Spreadsheet with EEL108 runlist]
**login into cdaql3 through the gateway
 
** if you have not set up you own subdirectory:
 
***cd /data1/cdaq/eel108
 
***mkdir "name" ( make a subdirectory with your "name")
 
***cd "name"
 
** if you have subdirectory
 
*** cd /data1/cdaq/eel108/"name"
 
**git clone git clone https://github.com/"githubUserName"/nps_replay
 
** cd nps_replay
 
** mkdir /data1/cdaq/eel108/output/ROOTfiles/"name"
 
** ln -sf /data1/cdaq/eel108/output/ROOTfiles/"name" ROOTfiles
 
** mkdir /data1/cdaq/eel108/output/REPORT_OUTPUT/"name"
 
** mkdir /data1/cdaq/eel108/output/REPORT_OUTPUT/"name"/NPS
 
** mkdir /data1/cdaq/eel108/output/REPORT_OUTPUT/"name"/NPS/eel108
 
** ln -sf /data1/cdaq/eel108/output/REPORT_OUTPUT/"name" REPORT_OUTPUT
 
** ln -sf /data1/cdaq/NPS/ cache ( do not have access to cache disk)
 
** ln -sf /data1/cdaq/NPS/ raw
 
  
== EEL108 cdaql3 set-up ==
+
== Git workflow ==
* Instructions for replaying data on cdaql3  see [https://github.com/JeffersonLab/nps_replay#readme README.md]
+
* [https://hallcweb.jlab.org/doc-private/ShowDocument?docid=1212 Slides] on Git with the suggested workflow'
  
 
== Miscellaneous Support Repos ==
 
== Miscellaneous Support Repos ==

Latest revision as of 09:49, 4 January 2024

NPS Software Meetings

Setting up HCANA and NPSlib, nps_replay Instructions

Git repos

Starting on the cdaqll machine

  • login into cdaql1 through the gateway
  • if you want to use the standard replay type "go_analysis_nps"
  • if you do not have a directory and want to do independent analysis
  • Create a directory /home/cdaq/Dirname
  • Create a directory /home/cdaq/Dirname/nps-2023
  • cd /home/cdaq/Dirname/nps-2023
  • Setup cmake and ROOT
    • module use /apps/modulefiles/
    • module load cmake
    • source /apps/root/PRO/bin/thisroot.csh
  • Setup hcana
    • git clone https://github.com/GithubUserName/hcana
    • cd hcana
    • git remote add --track develop upstream https://github.com/JeffersonLab/hcana
    • git submodule init
    • git submodule update
    • cd ..
    • cmake -B hcana-build -S hcana -DCMAKE_INSTALL_PREFIX=hcana-install
    • cmake --build hcana-build -j12
    • cmake --install hcana-build/
    • setenv PATH /home/cdaq/Dirname/nps-2023/hcana-install/bin:$PATH
    • If one needs to recompile after making changes in hcana/src
      • cd hcana-build
      • make install
  • Setup NPSlib
    • git clone https://github.com/GithubUserName/NPSlib
    • cd NPSlib
    • git remote add --track main upstream https://github.com/JeffersonLab/NPSlib
    • cd ..
    • cmake -B NPSlib-build -S NPSlib -DCMAKE_INSTALL_PREFIX=hcana-install
    • cmake --build NPSlib-build/
    • cmake --install NPSlib-build/
    • If one needs to recompile after making changes in NPSlib/src
      • cd NPSlib-build
      • make install
    • setenv LD_LIBRARY_PATH /home/cdaq/Dirname/nps-2023/hcana-install/lib64:$LD_LIBRARY_PATH
  • Setup nps_replay
    • git clone https://github.com/GithubUserName/nps_replay
    • cd nps_replay
    • git remote add --track main upstream https://github.com/JeffersonLab/nps_replay
    • mkdir /net/cdaq/cdaql1data/cdaq/"name"/ROOTfiles
    • ln -sf /net/cdaq/cdaql1data/cdaq/"name"/ROOTfiles ROOTfiles
    • mkdir /net/cdaq/cdaql1data/cdaq/"name"/REPORT_OUTPUT
    • mkdir /net/cdaq/cdaql1data/cdaq/"name"/REPORT_OUTPUT/NPS
    • mkdir /net/cdaq/cdaql1data/cdaq/"name"/REPORT_OUTPUT/NPS/eel108
    • ln -sf /net/cdaq/cdaql1data/cdaq/"name"/REPORT_OUTPUT
    • ln -sf /cache/mss/hallc/c-nps/raw cache
    • ln -sf /net/cdaq/cdaql1data/coda/data/raw raw
    • If not setup already and will have to done for every new login
      • setenv PATH /home/cdaq/Dirname/nps-2023/hcana-install/bin:$PATH
      • setenv LD_LIBRARY_PATH /home/cdaq/Dirname/nps-2023/hcana-install/lib64:$LD_LIBRARY_PATH
      • source /apps/root/PRO/bin/thisroot.csh
    • Replay scripts are under the SCRIPTS

Starting on the ifarm machines

  • if you are not in the c-nps group then email jones@jlab.org
    • to see what groups you are in type:"groups" when on the CUE machines.
  • if you have not set up you own subdirectory:
    • cd /group/nps
    • mkdir "name" ( make a subdirectory with your "name")
    • cd "name"
  • if you have subdirectory
    • cd /group/nps/"name"
  • Following above directions for the cdaq machines to install hcana,NPSlib and nps_replay
  • Setup ROOT, cmake
    • module use /group/halla/modulefiles
    • module load cmake
    • module load root
  • When setting up the nps_replay use volatile disk instead of /net/cdaq/cdaql1data/cdaq
    • mkdir /volatile/hallc/nps/"name"
    • mkdir /volatile/hallc/nps/"name"/ROOTfiles
    • ln -sf /volatile/hallc/nps/"name"/ROOTfiles ROOTfiles
    • mkdir /volatile/hallc/nps/"name"/REPORT_OUTPUT
    • mkdir /volatile/hallc/nps/"name"/REPORT_OUTPUT/NPS
    • mkdir /volatile/hallc/nps/"name"/REPORT_OUTPUT/NPS/eel108
    • ln -sf /volatile/hallc/nps/"name"/REPORT_OUTPUT REPORT_OUTPUT
    • ln -sf /cache/mss/hallc/c-nps/raw raw

Analyzing data

  • on cdaql1
    • cd //"name"/nps_replay
  • On ifarm
    • cd /group/nps/"name"/nps-2023/nps_replay

Offline Analysis

  • hcana
  • At the analyzer prompt
    • .x SCRIPTS/NPS/eel108_replay.C(nrun,nevents)
    • If events = -1 , then replay all events.
    • It is slow because we are reading sample data for all FADc channels for each event
  • Root file is output to the ROOTfiles directory.

Notable Software Changes

Add a running list of major changes and when they were implemented on cdaq and the farm. NPSlib hcana Podd nps_replay

Location of Replays

Path to individual segment replays. Path to skim replays. location of report files. Archives of report files and how to put them on your work disk. History of updates for farm jobs with run ranges.

Analysis info

Run spreadsheet EEL108

Git workflow

  • Slides on Git with the suggested workflow'

Miscellaneous Support Repos

Please post supporting scripts, online displays, debugging code, etc below.  (Github repo links please!)