(Last update 15/03/2005)
To analyse the data, you need to use one of the TestBeam packages (each of which is specific to one test-beam), plus the Tracker packages related to test-beams. These are all documented below. A good analysis code is General.cpp in TestBeams/TkX5bSep2004/test/. (Or TkX5bMay2003 test if you wish to analyse pre-July 2004 data). Depending on your .orcarc cards, this runs either a simple example analysis code illustrating all the latest software features, or the `TT6' analysis code with many, detailed monitoring histograms. (The latter option replaces the old GeneralTT6.cpp program). The TT6 histograms can be displayed with a GUI, as described in the "Graphical User Interface for TT6 Test-Beam Analysis" Section below
A more advanced analysis program TestBeams/TkFilterUnit/GeneralFU.cpp, which uses a COBRA driven event-loop and ROOT reads files written in the FED9U data format is currently under development (and seems to work ...). It is documented in the TkFilterUnit section below.
A necessary input to this analysis is the geometrical description of the test-beam sensors. This can either be given via the DDD (recommended) or via ASCII card files (functional, but very old-fashioned). .
Software Corrections to current ORCA version (8.73)
Use the analysis code General.cpp with ORCA 8.73 and the corrections listed here.
TestBeam specific packages
Relevant Tracker packages
Tracker/ApvAnalysis: Provides a software framework, in the form of virtual C++ classes, from which all pedestal/noise calibration algorithms and FED zero suppression algorithms are required to inherit. This imposes a similar style on all test-beam software authors, making the software easier to understand and more modular. Documentation is provided in the ORCA Reference Manual in http://cmsdoc.cern.ch/swdev/snapshot/ORCA/ReferenceManual/html/ApvAnalysis.html#ApvAnalysis . An description also exists in ApvAnalysis/doc/Proposal.ps
Tracker/ApvAnalysisConcrete: Provides concrete implementations of real pedestal/noise calibration and FED zero suppression algorithms, by a number of authors. All these algorithms inherit from the virtual classes in Tracker/ApvAnalysis. Documentation is provided in the ORCA Reference Manual in http://cmsdoc.cern.ch/swdev/snapshot/ORCA/ReferenceManual/html/ApvAnalysisConcrete.html#ApvAnalysisConcrete
Tracker/TkTestBeamInterface: Interfaces the ApvAnalysisConcrete algorithms to the ORCA digitizer, so that Digis and RecHits from test-beams may be accessed via the standard ORCA DetUnit's. Also creates the test-beam geometry according to an ASCII file description. Is documented in the ORCA Reference Manual in http://cmsdoc.cern.ch/swdev/snapshot/ORCA/ReferenceManual/html/TkTestBeamInterface.html#TkTestBeamInterface
Tracker/DataHandlingInterface: Pass Monte Carlo data to ApvAnalysis framework and produce Digis from output of the latter. Is documented in the ORCA Reference Manual in http://cmsdoc.cern.ch/swdev/snapshot/ORCA/ReferenceManual/html/DataHandlingInterface.html#DataHandlingInterface
TrackerReco/TkTestBeamPattern: Provides modifications to standard CMS Kalman Filter Track reconstruction to do straight line track fit in test-beams. Manual in http://cmsdoc.cern.ch/swdev/snapshot/ORCA/ReferenceManual/html/TkTestBeamPattern.html#TkTestBeamPattern
Running ORCA on the Filter Farm during Test-Beams
The general principles of running ORCA on the FU accessing data sent over the network from the online software are described in a talk by Giacomo Bruno.
TestBeams/TkFilterUnit: Provides
an executable GeneralFU.cpp for producing monitoring histograms in test-beams, when ORCA is run on the
Filter Unit, accessing data sent directly from XDAQ. (The analysis software
is almost identical to General.cpp). It can
also be used for offline analysis of test-beam data, with a COBRA driven event
loop (thanks to COBRA's DaqPrototype
Package). This relies on code in TkFilterUnit/src to read the ROOT and code in
Tracker/SiStripRawDataFormat or
SiStripZSDataFormat to decode the FED data
blocks and produce Digis. (Some additional documentation
on the ORCA software involved can be found in TestBeams/TkFilterUnit/doc/TkFilterUnit.doc)
. The cabling map and assignment of modules to FEDs is provided by the files
module.xml and
structuretest.xml, which is read by the package
Tracker/TkMonitoring.
Note that you need to source the script
TkFilterUnit/test/getGeom.csh, since
DaqPrototype still expects to know where the CMSIM geometry is (in case it
needs the B-field map). Also note that if you are performing offline analysis,
the name of the input dataset is specified via the .orcarc card
DaqApplication:InputFile.
To run the software in a real test-beam
environment, one needs the (XDAQ-based) online Tracker software (Description
+
Userguide) and the
COSINE package
which enables network communication between the XDAQ-FU and ORCA. We are
currently waiting for the first release of the COSINE package in March 2004.
(During 2003, an attempt was made without using COSINE, as described here,
but this is now historical).
Tracker/TkDaqDigiSetUp and
TkDaqRawDigiSetUp provide executables for testing this software entirely within ORCA, by taking input data from
Monte Carlo instead of from XDAQ. (The first handles zero-suppressed data
and the second raw data).
A more rigorous (& more difficult !) test can be made by linking together
the Tracker online software, ORCA and COSINE, as described above, and then
using the `FED emulator' in the Tracker online software to generated simulated
events. This is currently (Feb. 2004) under development.
Recently, a specific package TrackerMonitoring has been created in which to run the ORCA tracker monitoring code with a COBRA-driven event loop. This is described on the Tracker Monitoring web page, and supersedes the executables in TkFilterUnit/test/
Processing Standard (SimHit) Monte Carlo events with the ApvAnalysis package
Tracker/DataHandlingInterface: Allows standard (zero-suppressed) Monte Carlo datasets to be processed (i.e. calibrated and zero-suppressed) by the ApvAnalysis package. To make this possible, pedestals and common-mode noise are added during the digitization phase and zero-suppression is not performed at that point. Documentation can be found in http://cmsdoc.cern.ch/swdev/snapshot/ORCA/ReferenceManual/html/DataHandlingInterface.html . Example software in in test/GeneralMC.cpp, and is almost identical to the General.cpp code used for test-beam analysis on real data.
Simulating test-beam datasets with OSCAR and the Particle Gun
An OSCAR dataset can be created using the particle gun with
test-beam geometry. This is useful for comparing the simulation with the data (tuning
Monte Carlo parameters) and for testing new analyses such as tracking and alignment
software. After the usual `scram project OSCAR OSCAR_3_3_0", check out OscarApplication/G4SimApplication/test/, copy the
file .orcarc
into test/. You may need to edit it to point
to the correct geometry files in Data/TrackerTBGeometries. Then type eval `scram runtime -csh` , source
writeTrigger.csh and then run the (already compiled executable) oscar interactively. The .orcarc parameters
VertexGenerator... and ParticleGun... control the origin and kinetics of the produced
particles.
Read the dataset with any ORCA job capable of reading
SimHits. (Version 8.10 corresponds to OSCAR v3.20). To disable the magnetic field and
specify the input dataset, use .orcarc lines such as these. Your ORCA test directory should also contain the same .xml files that
you used to generate the input dataset. These .xml files can also be used to analyse
test-beam data if the geometry is the same. By default, the SimHits are converted to zero
suppressed StripDigis using the default ORCA strip tracker zero suppression algorithm, and
with no pedestal or noise reconstruction. If you want to produce raw digis inside ORCA and
pass them through the ApvAnalysis package performing calibration and zero-suppression,
then use the example in Tracker/DataHandingInterface/test/General.cpp.
(N.B. The example files produce a particle beam
travelling along the z-axis. If you wish to change the geometry, read the documentation DDD . Be careful that the particle vertex must lie within volume of
"CMS" as defined in tb.xml. Furthermore, the "BoxTOB",
"BoxTIB" and "BoxTEC" volumes defined in tracker.xml should be
contained within CMS and not overlap with each other.)
Simulating test-beam datasets with the Cosmic Muon Generator
As an alternative to using the particle gun, cosmic rays can be simulated with a generator, as documented here. The ntuple produced can be input to OSCAR, run as described above.
How to look at Simulated test-beam dataset with the IGUANACMS event display
Follow the instructions in the IGUANACMS Userguide, namely:
scram project IGUANACMS IGUANACMS_1_3_0; project IGUANACMS; cd src; cvs co -r ORCA_1_3_0 VisOrca/VisOrcaMain/test; cd VisOrca/VisOrcaMain/test; eval `scram runtime -csh`; iguana.
N.B. Due to a bug, in v1.30 one must also do setenv LD_LIBRARY_PATH /afs/cern.ch/cms/external/gcc-3.2/ROOT/3.05.07a/lib/:$LD_LIBRARY_PATH immediately after running scram.
After starting IGUANA, select ORCA, then Sim Application, enable the display of the Objects, Event, Tracker Event, Simhits, Reco detector, Tracker, Silicon barrel & Silicon endcap using the checkboxes, and click on the picture of the eye. You can also try enabling the `custom tracker' to allow easier viewing of specific parts of the Tracker.
Standard ORCA .orcarc cards, such as those in Tracker/DataHandlingInterface/test/, point to the input dataset and .xml geometry files. However, you must setenv Geometry_PATH "." so that the .xml will be found in your current directory. Furthermore, to prevent IGUANA crashing due to the absence of calorimeters/muon-chambers, you should also use the additional .orcarc card: Visualisation:DataProxies = COBRA/Core:ORCA/Event:ORCA/Event/Tracker:ORCA/Event/CustomTracker:ORCA/RecoDetector/Tracker.
N.B. IGUANACMS v1.30 currently only displays the geometry and SimHits. The RecHits and RecTracks should be available soon.
N.B. If you are using a Windows computer, you must use the Exceed3D or Cygwin/Xfree x-terminal emulation to use IGUANACMS, since standard Exceed can't cope with the 3D graphics.
Graphical User Interface for TT6 Test-Beam Analysis
Documentation on a graphical user interface for steering the TT6 analysis package and looking at the histograms produced can be found here. (Follow the link under "Quick Overview - Project Homepage"). It can display the histograms produced by the ORCA General.cpp analysis program described above, when the TT6 output histograms are requested. N.B. Currently it only compiles with g++ version 2.96 not 3.20.
Quasi-Online Monitoring During Test-Beams
The General.cpp analysis program and TT6 GUI can both be used for quasi-online analysis of data during beam/system-tests. The procedure is described here. It assumes you have access to the tt6 account on the TIB group's lxcms68.cern.ch computer.
Older ORCA Test-Beam Software
WWW page author: Ian Tomalin