This is slightly/possibly outdated jan2012, CR
(other sources of information: the TestbeamAnalysisLib, TestbeamAnalysisProcedures and the MarlinTPC wiki)
To collect all relevant information for the software and analysis project of the FLC-TPC group.
Software basics
links for software
MarlinTPC
Data samples
The baseline run 0069 from a cosmic run with magnetic field. Current "home" of the data is
/flc/lc4/pool/tpc/daten/MediTPC/magnet/200805-2008__/cosmic/0069
In the same directory also the padmapping can be found:
padmapping0069.slcio
The Treewriter
Thanks to Joergen for this. The main page is also in the wiki: RootTreeWriter. If you happen to find any bugs, please confirm then and report them in the bug tracker: http://www-flc.desy.de/flc/flcwiki/RootTreeWriter/Bugs
The RootTreeWriter can be found in a cvs repository. Please check it out from (note: you must be an afs group member of flc and have a valid token):
cvs -d /afs/desy.de/group/flc/soft/softcvs co RootTreeWriter
Treewriter HowTo
Note: the order is not strict.
Basic cmake setup
After downloading some steps need to be taken to be able to compile any new engine for the RootTreeWriter. This includes the extension of the cmake paths. The handiest way to do this is, is to use an include config file, like in
cmake -C setup.cmake $target
This config file shortens the definition of "-D" options to cmake, e.g.
set(CMAKE_MODULE_PATH "/opt/ilcsoft/v01-06/CMakeModules/v01-08" CACHE PATH "the path of the modules")
set(ROOT_HOME "/opt/root_v5.22.00" CACHE PATH "the home of root")
set(LCIO_HOME "/opt/ilcsoft/v01-06/lcio/v01-11" CACHE PATH "the home of lcio")
The Writer
- create an engine within the treewriter
-> script: "~/treewriter/RootTreeWriter/bin/createEngineTemplate.sh $name" creates two files in ~/treewriter/RootTreeWriter/engines: ${name}.cc and ${name}.hh
- edit the .cc and .h file accordingly
- maybe look up the definitions in the reference documentation
e.g. http://lcio.desy.de/v01-11/doc/ , like http://lcio.desy.de/v01-11/doc/doxygen_api/html/namespaceEVENT.html the ".hh" file only needs the data members for storage the ".cc" file consists of three disjoint parts:
marlin root lcio
- maybe look up the definitions in the reference documentation
- compilation
- create a build directory and change into it. Issue the commands
3.1 cmake -C setup.cmake RootTreeWriter (or specify where CMAKE_MODULE_PATH, ROOT_HOME and LCIO_HOME are) 3.2 make
- create a build directory and change into it. Issue the commands
- edit the steering file accordingly and run it
a small example
- As example: add a single data member in the corresponding block in the .hh file; e.g.
float _time;
#include "EVENT/TrackerRawData.h"
hostTree->Branch("thetime",&_time ,"thetime/F" );
typedef LCTypedVector<TrackerRawData> trackrvec;
trackrvec foo(inCol); _time= bar.at(0)->getTime();
List of pages in this category: