TWiki
>
Main Web
>
TWikiUsers
>
RebeccaCarney
>
TestBeamAna
(2015-06-16,
RebeccaCarney
)
(raw view)
E
dit
A
ttach
P
DF
<span style="font-size: 23px; line-height: 1em; background-color: transparent;"><nop></span><span style="font-size: 23px; line-height: 1em; background-color: transparent;">%TOPIC%</span><span style="background-color: transparent;"> %TOC%</span><span style="background-color: transparent;"><!--optional--></span> %STARTINCLUDE% ---+ Introduction <span style="background-color: transparent;">Documentation and examples of testBeamAnalysis. Intended as a clustering analysis for RAW FE-I4 data from the RCE DAQ system (USBPix - in progress). </span> *STATUS:* Under development! ---+ Source Code ---++ Supported platforms * Mac OSX * Rhel * Runs on LXPlus ---++ Dependencies The software was developed in C++98 and with a bash shell. The analysis itself can be run as is but if use of the plotting functions is required, access to [[http://root.cern.ch/drupal/][ROOT]] libraries is needed and is expected to be compiled and findable. This framework was developed with version 5.34. ---++ GIT repository @ gitlab.cern.ch The source code can be found in this git repo: * <span style="background-color: transparent;">URL: </span><span style="background-color: transparent;">https://gitlab.cern.ch/TestBeamTeam/TestBeamAna.git</span> Contact the author to get access. Require a Cern computing account. ---++ Structure The code is structured to facilitate easy merging with multiple developers (hopefully!). There is a separate folder (subdirectory) for what we think is each main stage of the analysis: * Data I/O * Clustering * Tracking/alignment * Analysis (a general umbrella that utilises the products of the previous 3 items on this list) Each subdirectory has the same structure and a makefile that expects files to be organised accordingly. Here is a list of folders inside each subdirectory: * Makefile : Makefile to compile the code * README : Textfile with basic information about what this subdirectory contains, how to run some of the tests. * ana/ : Analysis objects and namespaces (all source files) * bin/ : Folder for compiled executables * build/ : Folder for compiled objects * src/ : Folder for entry points/main fuctions/test programs To help the makefile distinguish between source files and test/main files it is required that: source/class/namespace files end in '.cpp', header files end in '.h', and main files to end in '.cxx'. This is just to help keep the code organised. Because of the identical subfolder structure switching development from one task to another should be fairly simple. Since the idea is that all of these subdirs contain analyses that will mostly be used together, if not sequentially, they should all share the same 'tools' or container objects. These are all stored in the shared 'tools' directory and are detailed later in this page. ---++ Compiling The makefile should take care of everything. You have two options with this framework: either compile and run just in the subdir or compile everything in the base directory. The base makfile simply calls all other makefiles in parallel but can also be called to compile sequentially if necessary. If you want to use methods from other subdirectories simply add them to the makefile but the framework is designed such that anything that requires use of multiple subdirs should be made in the Analysis subdir. Examples to follow. Expected output in subdir make: <pre> $ make [Compiling] build/Algorithm.o [Compiling] build/Cluster.o [Compiling] build/DataReader.o [Compiling] build/Event.o [Compiling] build/Hit.o [Compiling] build/Plot.o [Compiling] build/RCEDataReader.o [Creating] build/libTB_ana.a [Compiling] build/sgnTest.o [Linking] bin/sgnTest [Compiling] build/testMain.o [Linking] bin/testMain . . . </pre> ---+ Running the code *Currently* the main executable is: * anaData *Currently* the only parameter passed to the program is the raw data file. This may change so watch the repo for updates. Run like: <pre> ./bin/anaData $PATH/filename.dat </pre> ---+ testBeamAna containers and functions Short description of some of the tools that can be used in an analysis. Click the links for more details. | *Name* | *Filename* | *Author* | *Description* | | [[DataReader][DataReader - base class]] | <noautolink>DataReader.h</noautolink> | Rebecca | Raw data reader base class. | | [[RawDataReader][RawDataReader - derived class]] | <noautolink>RawDataReader.h</noautolink> | Rebecca | RCE raw data formatted record file reader and import | | [[RootDataReader][RootDataReader - derived class]] | <noautolink>RootDataReader.h</noautolink> | Rebecca | RCE ROOT data formatted record file reader and import | | [[Event]] | Event.h | Rebecca | Event object, stores all hits with the same <noautolink>LV1ID</noautolink> | | [[ClusteringAlgorithm][Algorithm]] | Algorithm.h | Rebecca | Clusters hits in each event within 1 bcid of each other. Please see class description for details. | | [[ClusterObject][Cluster]] | Cluster.h | Rebecca | Cluster object, stores hits and other cluster information. | | [[Hit]] | Hit.h | Rebecca | Hit object, stores the bcid, tot, column, and row of each hit. | | [[PlottingClass][Plot]] | Plot.h | Rebecca | Plotting functions, makes use of root libraries to save and display plots. | ---+ testBeamAna results A link to the graphs from analysis | *Sensor type* | *Angle [degrees]* | *Run, date (dd/mm/yy), log file* | *Description* | *Data added by* | *Date added (dd/mm/yy)* | *plots (CCE)* | | 3D | 2 | lorem ipsum | dolor | bla | sometime | link | | Planar | 2 | lorem ipsum | dolor | bla | sometime | link | <!-- *********************************************************** --> <!-- Do NOT remove the remaining lines, but add requested info as appropriate --> <!-- *********************************************************** --> --- <!-- For significant updates to the topic, consider adding your 'signature' (beneath this editing box) --> *Major updates*:%BR% -- Main.RebeccaCarney - 30-November-2014 %STOPINCLUDE%
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r3
<
r2
<
r1
|
B
acklinks
|
V
iew topic
|
WYSIWYG
|
M
ore topic actions
Topic revision: r3 - 2015-06-16
-
RebeccaCarney
Log In
Main
Home
Index
Search
User Search
Changes
Notifications
RSS Feed
Documentation
Support
Webs
Main
Main Archive
Plugins
Sandbox for tests
Public webs
Public webs
ABATBEA
ACPP
ADCgroup
AEGIS
AfricaMap
AgileInfrastructure
ALICE
AliceEbyE
AliceSPD
AliceSSD
AliceTOF
AliFemto
ALPHA
ArdaGrid
ASACUSA
AthenaFCalTBAna
Atlas
AtlasLBNL
AXIALPET
CAE
CALICE
CDS
CENF
CERNSearch
CLIC
Cloud
CloudServices
CMS
Controls
CTA
CvmFS
DB
DefaultWeb
DESgroup
DPHEP
DM-LHC
DSSGroup
EGEE
EgeePtf
ELFms
EMI
ETICS
FIOgroup
FlukaTeam
Frontier
Gaudi
GeneratorServices
GuidesInfo
HardwareLabs
HCC
HEPIX
ILCBDSColl
ILCTPC
IMWG
Inspire
IPv6
IT
ItCommTeam
ITCoord
ITdeptTechForum
ITDRP
ITGT
ITSDC
LAr
LCG
LCGAAWorkbook
Leade
LHCAccess
LHCAtHome
LHCb
LHCgas
LHCONE
LHCOPN
LinuxSupport
Main
Medipix
Messaging
MPGD
NA49
NA61
NA62
NTOF
Openlab
PDBService
Persistency
PESgroup
Plugins
PSAccess
PSBUpgrade
R2Eproject
RCTF
RD42
RFCond12
RFLowLevel
ROXIE
Sandbox
SocialActivities
SPI
SRMDev
SSM
Student
SuperComputing
Support
SwfCatalogue
TMVA
TOTEM
TWiki
UNOSAT
Virtualization
VOBox
WITCH
XTCA
Welcome Guest
Login
or
Register
Cern Search
TWiki Search
Google Search
Main
All webs
Copyright &© 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback