This page discribes the reconstruction of the tracks recorded by the Alpide telescope at DESY using the Corryvreckan reconstruction framework for the purpose of track extrapolation to AHCAL layer, which sits typically 1 m downstream from the telescope.

Table of content

Installation

EUDAQ (AHCAL, Alpide, main)

EUDAQ needs to be installed in order to be able to read the EUDAQ RAW files, especially the StdEvent coverters. Since the Alpide telescope has external dependecies, it is not in the main branch of EUDAQ, but rather an independent package, that is built against the EUDAQ. This requires a slightly different approach to the build, where a common installation directory for all modules are given.

TLU requres the IPBUS to be installed. Moreover, the library needs to be added to the LD_LIBRARY_PATH both to the EUDAQ and corrywreckan installations:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/cactus/lib

This following script will install all the necessary EUDAQ binaries (eudaq core) and libraries (AHCAL + Alpide):

#! /usr/bin/env bash

#source ~/opt/root/6.22.00_src/root_install/bin/thisroot.sh 
source ~/opt/root/6.22.08_src/install/bin/thisroot.sh

# temporary folder to store source code from git
EUDAQ_SOURCE=eudaq_official
ALTEL_SOURCE=eudaq_altel
AHCAL_SOURCE=eudaq_ahcal
ROOT_DIR=`pwd`
# temporary folder for building
BUILD_DIR=`pwd`/build
# final installation
INSTALL_DIR=`pwd`/install

if [ ! -d ${EUDAQ_SOURCE} ]; then
    git clone https://www.github.com/eudaq/eudaq $EUDAQ_SOURCE
    pushd $EUDAQ_SOURCE
    git checkout master #v2.4.4
    popd
fi

if [ ! -d ${ALTEL_SOURCE} ] ; then
    git clone https://github.com/eyiliu/altel_eudaq $ALTEL_SOURCE
    pushd $ALTEL_SOURCE
    git checkout build_gcc48 #or master?
    popd
fi

if [ ! -d ${AHCAL_SOURCE} ] ; then
    git clone https://github.com/jkvas/eudaq_ahcal $AHCAL_SOURCE
    pushd $AHCAL_SOURCE
    git checkout master
    popd
fi

mkdir -pv ${BUILD_DIR}/${EUDAQ_SOURCE}
pushd ${BUILD_DIR}/${EUDAQ_SOURCE}
cmake  -DBUILD_GUI=ON  \
       -DEUDAQ_BUILD_STDEVENT_MONITOR=ON  \
       -DEUDAQ_BUILD_ONLINE_ROOT_MONITOR=ON \
       -DEUDAQ_LIBRARY_BUILD_LCIO=ON \
       -DUSER_EUDET_BUILD=ON \
       -DUSER_TLU_BUILD=ON \
       -DUSER_EAMPLE_BUILD=ON \
       -DUSER_TIMEPIX3_BUILD=ON \
       -DUSER_CARIBOU_BUILD=ON \
       -DEUDAQ_INSTALL_PREFIX=${INSTALL_DIR} \
       -DPeary_DIR=/home/kvas/git/peary/share/cmake/Modules \
       -L ${ROOT_DIR}/${EUDAQ_SOURCE}
make  install
popd

mkdir -pv ${BUILD_DIR}/${ALTEL_SOURCE}
pushd ${BUILD_DIR}/${ALTEL_SOURCE}
cmake -L \
      -Deudaq_DIR=${INSTALL_DIR}/cmake \
      -DALTEL_BUILD_EUDAQ_MODULE=ON \
      -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR}  \
      ${ROOT_DIR}/${ALTEL_SOURCE}
make  install
popd

mkdir -pv ${BUILD_DIR}/${AHCAL_SOURCE}
pushd ${BUILD_DIR}/${AHCAL_SOURCE}
cmake -L -Deudaq_DIR=${INSTALL_DIR}/cmake \
      -DDESYTABLE_BUILD_EUDAQ_MODULE=ON \
      -DUSER_CALICE_BUILD_AHCAL=ON \
      -DUSER_CALICE_BUILD=ON \
      -DUSER_CALICE_BUILD_BIF=ON \
      -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR}  \
      ${ROOT_DIR}/${AHCAL_SOURCE}
make  install
popd

Corryvreckan

installation is described here. for the testbeam there is explicitely needed to install module.

In case of problem with compilation of labview, following patch helped to make the corryvreckan compiled:

-------------------------------- CMakeLists.txt --------------------------------
index 9f4fa2cc..f11e401a 100644
@@ -120,6 +120,10 @@ ENDIF()
 ###################################
 # Prerequisistes for Corryvreckan #
 ###################################
+#set (THREADS_PREFER_PTHREAD_FLAG ON)
+FIND_PACKAGE(Threads REQUIRED)
+FIND_PACKAGE(OpenMP REQUIRED)
+FIND_PACKAGE(MPI REQUIRED )
 
 # Define the libraries
 SET(CORRYVRECKAN_LIBRARIES "")
@@ -176,9 +180,9 @@ ADD_RUNTIME_DEP(thisroot.sh)
 ###################################
 
 # Set the clang-format version required by the CI for correct formatting:
-SET(CLANG_FORMAT_VERSION "10")
+SET(CLANG_FORMAT_VERSION "11")
 # Set the clang-tidy version of the linter required by the CI:
-SET(CLANG_TIDY_VERSION "10")
+SET(CLANG_TIDY_VERSION "11")
 
 # Set the source files to clang-format (FIXME: determine this better)
 FILE(GLOB_RECURSE

------------------- src/modules/OnlineMonitor/CMakeLists.txt -------------------
index 46d97097..8ae1f40e 100644
@@ -11,7 +11,8 @@ IF(NOT ROOT_MACROS_FILE)
     MESSAGE(WARNING "Cannot find ROOT macros, including generic file as fallback.")
     INCLUDE(${ROOT_USE_FILE})
 ELSE()
-    INCLUDE(${ROOT_MACROS_FILE})
+    INCLUDE(${ROOT_USE_FILE})
+#    INCLUDE(${ROOT_MACROS_FILE})
 ENDIF()
 
 # Generate the ROOT dictionary

-------------------------- src/objects/CMakeLists.txt --------------------------
index 246b7b6d..f2430f74 100644
@@ -12,7 +12,7 @@ IF(NOT ROOT_MACROS_FILE)
     MESSAGE(WARNING "Cannot find ROOT macros, including generic file as fallback.")
     INCLUDE("${ROOT_USE_FILE}")
 ELSE()
-    INCLUDE(${ROOT_MACROS_FILE})
+    INCLUDE("${ROOT_USE_FILE}")#    INCLUDE(${ROOT_MACROS_FILE})
 ENDIF()
 
 # Generate the ROOT dictionary



mkdir build
cd build
cmake -DBUILD_EventLoaderEUDAQ2=ON -Deudaq_DIR=$PATH_TO_EUDAQ/install/cmake ../
make install

Alignment

TODO Aligment has not been successfully tested. The partially working alignment is described in DESY August 2020 testbeam 

Reconstruction

TODO

  • No labels