...
Package | Version | Get It |
---|---|---|
PandoraPFANew | trunk | |
ilcutil | head trunk | |
lcio | v01-51 60 | SLAC cvs |
slicPandora | head | SLAC cvs |
...
The following commands should then be executed in order from this working directory to make the slicPandora binary. You should execute each new package build from your working dir.
ilcutil
No Format |
---|
svn co http://svnsrv.desy.de/public/ilctools/ilcutil/trunk ilcutil cd ilcutil mkdir build cd build cmake .. make install cd .. export ILCUTIL_DIR=`pwd` cd .. |
Pandora
No Format |
---|
svn co http://svnsrv.desy.de/public/PandoraPFANew/PandoraPFANew/trunk PandoraPFANew cd PandoraPFANew mkdir build cd build cmake -DILCUTIL_DIR=$ILCUTIL_DIR -DCMAKE_SKIP_RPATH=1 .. make install cd .. export PandoraPFANew_DIR=`pwd`/PandoraPFANew |
LCIO
No Format |
---|
cvssvn -dco :pserver:anonymous@cvssvn://svn.freehep.org:/lcio/cvs/lcd co -r v01-51tags/v02-01-01 lcio cd lcio mkdir build cd build cmake -DINSTALL_DOC=OFF -DBUILD_32BIT_COMPATIBLE=OFF -DCMAKE_SKIP_RPATH=1 .. make install cd .. export LCIO_DIR=`pwd` cd .. |
slicPandora
No Format |
---|
cvs -d :pserver:anonymous@cvs.freehep.org:/cvs/lcd co slicPandora cd slicPandora export SLICPANDORA_DIR=`pwd` mkdir build cd build cmake -DCMAKEDILCUTIL_MODULE_PATHDIR=$ILCUTIL_DIR/cmakemodules -DLCIO_DIR=$LCIO_DIR -DPandoraPFANew_DIR=$PandoraPFANew_DIR -DCMAKE_SKIP_RPATH=1 .. make install |
If this step completes successfully without compilation or link errors, you should see a binary at slicPandora/bin/PandoraFrontend. You are basically done building slicPandora.
Pandora Settings (optional)
You should also check out the project that contains sample example config files for Pandora.
No Format |
---|
svn co http://svnsrv.desy.de/public/PandoraPFANew/Settings/trunk PandoraSettings |
LCDetectors (optional)
There are sample some slicPandora geometry xml files here. (This is a rather big cvs module so might take some time to checkout.)
No Format |
---|
cvs -d :pserver:anonymous@cvs.freehep.org:/cvs/lcd co LCDetectors |
PandoraFrontend
The PandoraFrontend binary provides a simple frontend to slicPandora.
For example, see LCDetectors/detectors/sidloi3/sidloi3_pandora.xml and its compact detector description.
Setting the LD_LIBRARY_PATH
The shared library locations need to be specified in the LD_LIBRARY_PATH for slicPandora to run. The variable needs to be defined as follows, based on environment settings from the build.
No Format |
---|
export LD_LIBRARY_PATH=$SLICPANDORA_DIR/lib:$LCIO_DIR/lib:$PandoraPFANew_DIR/lib
|
If these variables are not set in the environment, then using the full, explicit path to the library directories will work fine.
Checking the Build
Now you should be able to run this command to load slicPandoraThe syntax of this command is the following.
No Format |
---|
./slicPandora/bin/PandoraFrontend geometry.xml pandoraSettings.xml inputEvents.slcio reconOutput.slcio [nevents] [nskip] |
The help message should show for slicPandora. If there are errors about missing libraries, set the LD_LIBRARY_PATH variable accordingly.
PandoraFrontend
The PandoraFrontend binary provides a simple frontend to slicPandora. It uses GNU style command line switches for user input.
The following This table explains the function of each of these argumentsswitches.
orderswitch | argument | ||
---|---|---|---|
-g | Geometry XML | 1 | geometry xml file |
2-c | Pandora settings xml XML file | ||
3-i | LCIO input events | ||
-l | Custom LCIO input collections XML file (optional) | ||
-o4 | LCIO output file with PFOs appended | ||
5-r | number of events to run (optional) | ||
6-s | number of events to skip (optional) | ||
-f | force existing collections to be overwritten (optional) |
The geometry file is in an XML format. It can be created from a compact detector description using GeomConverter with the option "-o pandora". You are required to provide some additional parameters related to sampling fractions (see LCDetectors/detectors/sidloi3 for example).
The Pandora settings XML file contains settings to configure the Pandora PFA algorithm. Example configuration files can be found in the Pandora Settings SVN project (see building instructions above) (see PandoraSettings/PandoraSettingsBasic.xml).
The LCIO input events should contain collections of LCIO CalorimeterHits named according to their subdetectors, plus a collection of LCIO Track objects called "Tracks." There also needs to be a collection called "TrackStates" containing momentum measurements at various points along the Track (see below for details of generating these files).
The LCIO output file will contain the contents of the input file plus the PFO collections created by Pandora, as well as some intermediate collections of hit objects. This file is generated by slicPandora.
The number of events to run should be a positive integer. If slicPandora runs out of events, it will print and warning but should not crash.
The number of events to skip should be a positive integer. These events are read in and discarded before event processing begins.
Here is a contrived example using all input parameters.
No Format |
---|
./bin/PandoraFrontend -g myGeometry.xml -c PandoraSettings.xml -i inputEvents.slcio -l myCollections.xml -o myOutput.slcio -r 1000 -s 10
|
These are example arguments only. Actual usage will require files in the correct input data formats, namely the geometry XML, the Pandora settings file, and the XML specifying which LCIO input collections to use, if different from the defaults.
Using GeomConverter to Output the Pandora Geometry Format
...
This will create the file sidloi3_pandora.xml that can be used as input to slicPandora.
FIXME: Need to document the conditions used to set sampling fractions.
Running Events in SlicPandora
...
Now that tracks and track states have been added to the events, we are ready to use Pandora itself.