Difference between revisions of "TriDAS + JANA2 (+ERSAP)"

From epsciwiki
Jump to navigation Jump to search
Line 117: Line 117:
  
 
== Software ==
 
== Software ==
Work is being done using the ''streamdaq'' account on ''clondaq5''. Software versions specific to this test can be set up in the environment like this:
+
Work is being done using the ''streamdaq'' account on ''clondaq5''.  
  
   source /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS/setenv.sh
+
'''''NOTE: The .bashrc file for the streamdaq account has been updated to point to the current software versions. The following is not really needed anymore. Commands used to build most of the packages are recorded in the /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS/README file.'''''
 +
 
 +
   <s>source /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS/setenv.sh</s>
  
 
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.
 
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.
Line 132: Line 134:
  
 
=== TriDAS ===
 
=== TriDAS ===
This is the TriDAS source and is checked out on the latest ''master''.
+
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
 
* /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS/tridas-core
  
Line 149: Line 151:
  
 
=== CCDB ===
 
=== CCDB ===
CCDB is header only for C++. The latest ''master'' from github is checked out here. This probably corresponds to v1.06.09 since that is the latest tagged version in the repository.
+
CCDB is the JLab ''Calibrations Constants Database''. Version 1.06.09 from github is checked out here.
* /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS/CCDB
+
* /usr/clas12/streaming/ccdb_versions/v1.06.09
  
 
=== JANA2 ===
 
=== 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.
 
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
 
* /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 ===

Revision as of 21:40, 7 February 2023

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: Install 5x5 calorimeter in Hall-D 2/14 2/27 INFN
step 4: 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 5: Integrate AI-based real-time processing via JANA2 plugin 3/6 3/13 Cristiano, Cissie
step 6: TriDAS -> ERSAP -> JANA2 stack processing 3/13 3/15 INFN(Stefano, Carmello), Sergey B., EPSCI(Vardan, Carl, David)
step 7: Collect final data 3/15 3/20


EPSCI SRO Beam test priority Schedule
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

   On terminal
   -    ssh clasrun@clondaq5, 
   -     run 'runcontrol -rocs'
   
   Local
   -    Launch VNC
   -    Connect on VNC with localhost:5901
   
   On VNC
   -    Click 'Connect'
   -    Click 'Configure', and choose configuration 'TEST2_OLD_DUMMY'
   -    Click 'Download', and choose trigger file STREAMING/test2_streaming_tridas.trg
   
   New terminal
   -    connect on streamdaq
   -    ./tscsh --socket /var/run/user/10350/tsc.sock
   
   On TSC
   -    init tridas/run/datacard_repo/tridas_datacard2022-M3EICv4.json
   -    configure
   -     start
   
   On VNC
   -    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
   On TSC
   -    Stop
   -    Reset
   On VNC
   -    stop
   -    Reset

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 not really needed anymore. Commands used to build most of the packages are recorded in the /usr/clas12/streaming/work/2022.12.15.JANA2_TriDAS/README file.

  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.

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

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

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