Overview
The SLIC simulation package produces simulated physics events in the LCIO data format. This tutorial shows how to read these events into the Pandora PFA New project to create output Particle Flow Objects (PFOs).
Setup
Preliminaries
A Linux or Unix platform is assumed and the bash shell is used for all command-line instructions. These procedures should also work on an emulation platform like Cygwin. (untested!)
Two external packages must be installed onto your machine before setting up the SLIC to Pandora interface package. The LCIO package provides the data interchange format. The Pandora PFA New project is the C++ implementation of the Pandora Particle Flow Algorithm (PFA).
LCIO Installation
Checkout the LCIO project from cvs.
cd /workdir cvs -d :pserver:anonymous@cvs.freehep.org:/cvs/lcd co lcio
Building this project requires the CMake tool, the installation of which is not covered here. It additionally requires command-line GNU Make.
cd lcio cmake . make
Pandora PFA New Installation
Now download the Pandora project from the internet and build it. This project also requires CMake to build it.
Follow this link to download the SVN trunk of the Pandora project. Save it to your local computer (in this case to a pandora subdirectory).
cd /workdir/pandora tar -zxvf PandoraPFANew-trunk.tar.gz cd trunk cmake . make
Now we're ready to setup the project that interfaces SLIC to Pandora.
slicPandora Installation
Checkout the slicPandora project from cvs.
cd /workdir cvs -d :pserver:anonymous@cvs.freehep.org:/cvs/lcd co slicPandora cd slicPandora
Copy the example setup script.
cp example_setup.sh my_setup.sh
Edit my_setup.sh so that the PANDORAPFA and LCIO variables point to the correct locations of these packages on your computer (from the installation above).
Source the new setup script.
. my_setup.sh
Build the slicPandora project.
make
The slicPandora project should now build successfully. If compilation or linking errors occur, then check that LCIO and Pandora were installed successfully and that the setup script is pointing to the correct locations of these packages.
Running Events
LCSim
Before the simulated LCIO events can be run through Pandora, the LCSim tracking needs to run in order to add a collection of tracks.
JobManagerTest
The JobManagerTest runs an example of slicPandora using sample input files. To use this event, you need to provide a symlink to an LCIO file in the slicPandora root directory and call it input.slcio.
cd /workdir/slicPandora ln -s /path/to/myinput.slcio input.slcio
Execute this command to run this test.
./bin/JobManagerTest
It writes out an LCIO file called pandoraRecon.slcio which contains the input data as well as ReconstructedParticle and Cluster collections created by Pandora.
PandoraFrontend
The PandoraFrontend binary provides a simple frontend to slicPandora.
The syntax of this command is the following.
./bin/PandoraFrontend geometry.xml pandoraSettings.xml inputEvents.slcio reconOutput.slcio [nevents]
The nevents command is optional, but all other arguments are required and must be supplied in order.
For example, to repeat the results of the JobManagerTest using PandoraFrontend, execute this command.
./bin/PandoraFrontend ./examples/sidloi2_pandora.xml ./examples/PandoraSettingsNew.xml ./input.slcio ./pandoraRecon.slcio 2
The above command requires that the input events were generated in the sidloi2 detector and that a symlink has been setup pointing from "input.slcio" to your input event file.
Using GeomConverter to Output the Pandora Format
The GeomConverter package can convert from compact detector descriptions to various output formats, including one for input to slicPandora. (Installation of GeomConverter is not covered here.)
Use this command from your GeomConverter root directory to generate a Pandora geometry file from a compact detector description.
java -jar ./target/GeomConverter-1.10-SNAPSHOT-bin.jar -o pandora ./myCompactDetector.xml ./myPandoraGeom.xml
This will write out a Pandora XML file to "myPandoraGeom.xml" from the compact description in "myCompactDetector.xml".