Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Histograms are booked and filled within the station's Driver code. The plots are stored in an AIDA tree which is remotely accessible (read only). The server mounts these station trees into its remote tree and performs aggregation of histograms, clouds, and profiles into a combined tree. One to three dimensional histograms are supported, depending on the type (profiles have no 3D type). The combined histogram data can be saved to ROOT or AIDA files. 

Display clients such as JAS3 or a Java webapp can connect to the server's remote tree and view both the remote (station) plots and the combined plots in real time.

...

Code Block
languagebash
mkdir /scratch && cd /scratch
git clone https://github.com/JeffersonLab/hps-java && cd hps-java && git checkout online-recon-dev
mvn clean install -DskipTests
cd online-recon

# This will install the online recon run scripts to your scratch dir... 
mvn install -DskipTests -DskipCheckstyle -DassembleDirectory=/scratch

# Optionally add the script dir to the path.
export PATH=/scratch/bin:$PATH

cd /scratch/


Starting the Server 

The server cannot startup without an accessible and running ET ring present.

The important ET connection parameters for this can be specified in an initial server config file like:


Code Block
languagebash
titlemy.cfg
et.buffer=/tmp/ETBuffer
et.host=localhost
et.port=11111

These are the hostname where the ET ring is running, the port it is using for connections, and the name of the buffer file. They need to match either the actual running ET ring in Hall B or one started by the user on their machine.

You can launch the server now using a command like::

Code Block
languagebash
hps-recon-server --host localhost --port 22222 -w $PWD/stations -c my.cfg &

The --host switch should specify a valid network hostname or IP address for the server to use.

The --port switch can be used to set an alternate port for the TCP/IP socket to listen on (by default it is actually 22222).

For testing and development, it is preferable to use the generic localhost but this is not provided as a default. Otherwise, this should be a valid system (DNS?) name, or leave it blank to use the actual system name.

Instead of writing to your terminal, the server will create a log file at logs/server.log which you can tail to check the server's log messages .The server cannot startup without a running ET ring present. The connection parameters for this can be specified in the server config fileusing a command like tail -f logs/server.log to see the server logs from handling client requests.

You can leave out the --host to have the server and client use the actual system name (usually equivalent to the result of the uname command on Linux).

Client Command Line

Now you can connect to the running server using the online recon client:

Code Block
languagebash
hps-recon-client --host localhost -c station.prop

...

An initial configuration can be provided to the client using the -c switch.

...