TriDAS + JANA2 (+ERSAP)
This is information related to beam tests done in support of the TriDAS/JANA2/ERSAP SRO tests in Spring 2023 in Hall-D.
Overview
The goal of this test is to read out a small matrix of scintillator bars using VTP modules in Streaming ReadOut (SRO) mode. The bars have dimensions 2x2x20 cm and are side by side and closely packed (no space between them). The matrix will be positioned so the long dimension will be aligned with the beam direction. Cosmic rays will therefore be largely perpendicular to that.
The initial phase will focus on a 3x3 matrix while a 5x5 matrix will be used for the beam test. The beam test will take place in March, but development using cosmic rays will occur in the months leading up to that.
Meetings
Timetable of Activities
Activity | start date | end date | responsible | |
---|---|---|---|---|
step 1: | Build existing software against current TriDAS and JANA2 | 2/6 | 2/8 | EPSCI (David) |
step 2: | Run TriDAS w/ JANA2 for 3x3 prototype in Hall-B CH | 2/9 | 2/14 | INFN(Stefano, Carmello), Sergey B., EPSCI(David, Nathan, Cissie) |
step 3: | Run TriDAS w/ JANA2 for 5x5 prototype in Hall-B CH | 2/14 | 2/16 | INFN(Stefano, Carmello), Sergey B., EPSCI(David, Nathan, Cissie) |
step 4: | Install 5x5 calorimeter in Hall-D | 2/17 | 2/27 | INFN |
step 5: | Run TriDAS w/ JANA2 for 5x5 prototype using cosmic and beam triggers | 2/27 | 3/5 | INFN(Stefano, Carmello), Sergey B., EPSCI(David, Nathan, Cissie) |
step 6: | Integrate AI-based real-time processing via JANA2 plugin | 3/6 | 3/13 | Cristiano, Cissie |
step 7: | TriDAS -> ERSAP -> JANA2 stack processing | 3/13 | 3/15 | INFN(Stefano, Carmello), Sergey B., EPSCI(Vardan, Carl, David) |
step 8: | Collect final data | 3/15 | 3/20 |
Capability Focus | start date | end date |
---|---|---|
JANA2 plugins - TriDAS | 2/6 | 2/10 |
JANA2 plugins - CDAQ | 2/13 | 2/17 |
CDAQ + JANA2 | 2/20 | 2/24 |
TriDAS + JANA2 | 2/27 | 3/3 |
ERSAP + TriDAS | 3/6 | 3/10 |
ERSAP + CDAQ | 3/13 | 3/17 |
Accelerator Down | 3/20 |
Project Phases
Phase 1: mid-Feb.
- Cosmic rays (3x3)
- VTP readout with TriDAS
- JANA2 Cosmic Ray trigger
Phase 2: end-Feb.
- Cosmic rays (5x5)
- VTP readout with TriDAS
- JANA2 Cosmic Ray trigger
Phase 3: mid-Mar.
- Beam Test (5x5)
- VTP readout with TriDAS
- JANA2 Beam trigger and Cosmic Ray trigger
Phase 4: end-Mar.
- Beam Test (5x5)
- VTP readout with ERSAP (+ TriDAS?)
- ERSAP iterface to JANA2
- JANA2 Beam trigger and Cosmic Ray trigger
Instructions for Starting TriDAS DAQ in Hall-B
Start up CODA RunControl
# Log into the clasrun account on clondaq5: > ssh clasrun@clondaq5 # Launch VNC viewer for the session that should already be running # (you will need to know the password) > vncviewer localhost:5901 # If the CODA RunControl GUI is not already up, launch it with > runcontrol -rocs # You need to get the DAQ up to the stage where it is ready # to have the "Prestart" button pressed. If "Prestart" is not # showing, then do this: - Click 'Connect' - Click 'Configure', and choose configuration 'TEST2_OLD_DUMMY' - Click 'Download', and choose trigger file STREAMING/test2_streaming_tridas.trg
Start up TriDAS processes
# Open a new terminal and log into the streamdaq account on clondaq5: > ssh streamdaq@clondaq5 > source /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS/setenv.sh # Make sure the RunTSC process is running. This is often left running # in a hidden tmux window. If it is already running then skip this part. # If it is not running do the following: > tmux ls # (find the right window number. Probably the latest one. e.g. "6") > tmux att -t 6 > source /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS/setenv.sh > RunTSC # Type ctl-b d to detach from the tmux window and leave it running # in the background. # Start the tridas shell > tscsh --socket /var/run/user/10350/tsc.sock # At the tridas shell prompt enter the following: > init /home/streamdaq/tridas/run/datacard_repo/tridas_datacard2022-M3EICv5.json > configure > start
Start Run
# Back in the VNC window on the RunControl GUI: - Click 'Prestart', connection should be established from test2vtp-s2 to clondaq5 port 7002 - Click 'Go' - data should be streaming to clondaq5 port 7002
End Run
# To End the run: # In tscsh tridas shell > stop > reset # In VNC RunControl GUI - Click 'Stop' - Click 'Reset'
Output data files are written to a directory/filename format specified in the datacard.json configuration in the "EM" section by the "PT_NAME_TEMPLATE" field. For this beam test, they will have names like:
/data/tridas/EIC_3x3_R00000235_F00000003.pt
Software
Work is being done using the streamdaq account on clondaq5.
NOTE: The .bashrc file for the streamdaq account has been updated to point to the current software versions. The following is currently not needed to complete the environment setup.
source /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS/setenv.sh
Some software built specifically for this test can be found in the /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS directory. Not all of it is placed there though. Commands used to build most of the packages are recorded in the /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS/README file.
Some notes describing how these pieces fit together from 2020 when this was first set up can be seen here:
https://github.com/andrea-celentano/jtridas/blob/master/README.JANA
Compiler
- 9.3.1 (from devtoolset-9)
- C++17 standard
TriDAS
This is the TriDAS source and is checked out on the latest master. It was needed since TriggerInterface.h (and possibly other files) needed by the jtridas plugin were not present in the binary distribution that was installed.
- /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS/tridas-core
tscsh
The tridas shell tscsh has also been built from the latest master. It is built in the directory below which automatically added to PATH in .bashrc.
- /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS/tscell/build
jtridas
This is the TriDAS plugin that interfaces to JANA2. TriDAS will load this plugin and, in turn, this will instantiate a JANA2 JApplication that will then load all of the JANA2 plugins. It is responsible for interfacing TriDAS and JANA2.
- /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS/jtridas
NOTE: This plugin needs to be at least symlinked in the directory where tridas looks for plugins as specified in the datacard.json file. (This is the "PLUGINS_DIR" field in the "TCPU" section.) The following does this for this beam test:
ln -s /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS/jtridas/build_vscode/libTrigJANA.so /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS/tridas-core/install/trigger_plugins
streamingReco
This has a number of things specific to this project, but mainly houses the JANA2 plugins. Configuration files for using the cmake build system have been added for this test. The older scons scripts are still there, but moving forward, cmake will be the preferred build system. This is primarily due to cmake being much more prevalent now and interfacing better with modern IDEs.
- /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS/streamingReco
ROOT
ROOT was built specifically for this test using the above compiler and C++ standard
- /usr/clas12/streaming/root/root-6.26.10
CCDB
CCDB is the JLab Calibrations Constants Database. Version 1.06.09 from github is checked out here.
- /usr/clas12/streaming/ccdb_versions/v1.06.09
JANA2
The latest tagged version of JANA2 v2.0.8 was built for this test. Note that the install directory is given below, but the full source can be found one directory up.
- /usr/clas12/streaming/JANA2-v2.0.8/install
git
The tridas-core CMakeLists.txt runs git internally with the -C option which is only available in newer versions of git. Thus, the latest version (2.39.1 as of now) was built here.
- /usr/clas12/streaming/git/git-2.39.1
cmake
The tridas-core CMakeLists.txt requires version 3.20 or higher of cmake. A precompiled version was downloaded and installed here.
- /usr/clas12/streaming/cmake-3.26.0-rc1-linux-x86_64
libssh2
TriDAS requires Libssh2 version 1.9. A previous build of this from 2020 exists in /usr/clas12/streaming/libssh2-1.9.0 but was apparently built as a static library which caused complaints when linking that we need to rebuild it with -fPIC. This was done and the shared library version placed here. (The older build with the static library was left alone).
- /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS/libssh2
VSCode
VSCode is an IDE for software development. A version was installed here in case it is useful. The setenv.sh script above will setup an alias to it so you only need to type "code" to start it up. Using VSCode is not required, but may help in some cases.
- /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS/VSCode-linux-x64
- Important directories
- /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS
Useful links
- New data format (better suited for VTP)
- streamingReco GitHub repository
- jtridas GitHub Repository
- Data located at: /data/tridas/EIC*