Skip to content

Commit

Permalink
Added first implementation of elder plugin, provides runtime for ELDE…
Browse files Browse the repository at this point in the history
…Rpt analysis framework.

Added olmd plugin to read original lmd files produced by MBS DAQ.
  • Loading branch information
jamusch committed May 6, 2024
1 parent 3b546a8 commit 59e2b6f
Show file tree
Hide file tree
Showing 99 changed files with 17,595 additions and 5 deletions.
7 changes: 7 additions & 0 deletions Changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@ This is log of changes in the DABC project.
It is the best (and sometimes the only) place to find information
about current functionality of the framework.

06.05.2024
1. First implementation of runtime plugin for ELDER analysis framework (by Michael Reese). Requires external elder installation.
May read data directly from MBS via stream server socket, or from list mode data files using the olmd plugin. [JAM]
2. Added new plugin OLMD for reading original formatted lmd files. In contrast to the mbs plugin, it will use internally the full MBS event api libraries,
like in Go4 framework. This allows to handle all lmd files that were written by MBS DAQ. [JAM]


20.12.2023
1. Fix mbs stream server transport. Command like `socat /dev/null TCP:localhost:6002` can harm server.
It establish connection and then immediately close socket. In some situations server transport get
Expand Down
6 changes: 6 additions & 0 deletions cmake/modules/DabcBuildOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,14 @@ dabc_build_option(mbs ON "Enable MBS plugin")
dabc_build_option(rfio ON "Enable RFIO plugin")
dabc_build_option(saft OFF "Enable SAFT plugin")
dabc_build_option(stream ON "Enable Stream plugin")
dabc_build_option(elder ON "Enable ELDER plugin")
dabc_build_option(user ON "Enable USER plugin")
dabc_build_option(verbs ON "Enable VERBS plugin")
dabc_build_option(root ON "Enable ROOT plugin")
dabc_build_option(dogma ON "Enable DOGMA plugin")
dabc_build_option(dofi ON "Enable DOFI plugin")
dabc_build_option(mbsroot ON "Enable MBS-ROOT plugin")
dabc_build_option(olmd ON "Enable Original LMD plugin")

# --- The 'all' option switches ON major options ------------------------------
if(all)
Expand All @@ -101,12 +103,14 @@ if(all)
set(rfio_defvalue ON)
set(saft_defvalue ON)
set(stream_defvalue ON)
set(elder_defvalue ON)
set(user_defvalue ON)
set(verbs_defvalue ON)
set(root_defvalue ON)
set(dogma_defvalue ON)
set(dofi_defvalue ON)
set(mbsroot_defvalue ON)
set(olmd_defvalue ON)
endif()

# --- The 'all' option switches ON major options ------------------------------
Expand All @@ -124,12 +128,14 @@ if(minimal)
set(rfio_defvalue ON)
set(saft_defvalue OFF)
set(stream_defvalue OFF)
set(elder_defvalue OFF)
set(user_defvalue OFF)
set(verbs_defvalue OFF)
set(root_defvalue OFF)
set(dogma_defvalue OFF)
set(dofi_defvalue OFF)
set(mbsroot_defvalue OFF)
set(olmd_defvalue ON)
endif()

# --- Define at moment the options with the selected default values -----------
Expand Down
9 changes: 9 additions & 0 deletions plugins/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,11 @@ if(stream)
add_subdirectory(stream)
endif()


if(elder)
add_subdirectory(elder)
endif()

if(aqua)
add_subdirectory(aqua)
endif()
Expand Down Expand Up @@ -71,4 +76,8 @@ if(saft)
add_subdirectory(saft)
endif()

if(olmd)
add_subdirectory(olmd)
endif()

add_subdirectory(user)
19 changes: 19 additions & 0 deletions plugins/elder/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
find_package(ELDER)

if(ELDER_FOUND)
dabc_link_library(
DabcElder
SOURCES src/RunModule.cxx src/Factory.cxx src/VisConDabc.cxx
HEADERS elderdabc/RunModule.h elderdabc/VisConDabc.h elderdabc/Factory.h
INCDIR elderdabc
LIBRARIES dabc::DabcBase dabc::DabcMbs ${ELDER_LIBRARY} ${ELDER-STD_LIBRARY} ${ELDER-GSI_LIBRARY} ${ELDER-EEL_LIBRARY}
INCLUDES ${ELDER_INCLUDE_DIR}
)

dabc_install_plugin_data(
DabcElder
DIRECTORIES icons app
DESTINATION ${DABC_INSTALL_PLUGINDIR}/elder
)

endif()
53 changes: 53 additions & 0 deletions plugins/elder/app/Elder.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<?xml version="1.0"?>
<dabc version="2">
<Variables>
<file value="/data.local2/adamczew/lmd/elder_tamex/tamex_internal_calibration_pulser.lmd"/>
<!-- <file value="${LMD}"/>
call dabc_exe LMD=myfile.lmd Elder.xml for file name argument on command line-->
<config value="./twinpeaks.config"/>
<asf value="twinpeaks.root"/>
</Variables>

<Context host="localhost" name="Elder">
<Run>
<lib value="libDabcHttp.so"/>
<lib value="libDabcMbs.so"/>
<lib value="libDabcOlmd.so"/>
<lib value="libDabcElder.so"/>
<logfile value="elderdabc.log"/>
<debuglevel value="1"/>
<loglevel value="-1"/>
<loglimit value="1000"/>
</Run>

<HttpServer name="http" port="8090">

<TopTitle value="ELDER analysis of ${config}"/>
<Monitoring value="2000"/>
<Layout value="grid2x2"/>
<!-- <DrawItem value="[HADES/Run/HLD/HLD_QaFinePerChannel,HADES/Run/HLD/HLD_QAToTPerChannel,HADES/Run/HLD/HLD_QaEdgesPerChannel,HADES/Run/HLD/HLD_QaErrorsPerChannel]"/> -->
<DrawOpt value=""/>

</HttpServer>

<MemoryPool name="Pool">
<BufferSize value="200000"/>
<NumBuffers value="1000"/>
</MemoryPool>

<Module name="Run" class="elderdabc::RunModule">
<autostop value="false"/>
<ElderConfig value="${config}"/>
<AutosaveFile value="${asf}"/>
<AutosaveInterval value="0"/>
<InputPort name="Input0" url="olmd://${file}"/>
<!-- <InputPort name="Input0" url="mbss://x86l-59"/> -->
<!-- <InputPort name="Input0" url="mbss://x86l-132"/> -->
<OutputPort name="*" auto="false"/>
<Events width="4" prec="1" low="0" up="1000" debug="1"/>
<DataRate width="4" prec="2" low="0" up="10" debug="1"/>
</Module>

</Context>

</dabc>
Loading

0 comments on commit 59e2b6f

Please sign in to comment.