Babar logo
HEPIC E,S & H Databases PDG HEP preprints
Organization Detector Computing Physics Documentation
Personnel Glossary Sitemap Search Hypernews
Workbook Home Introduction Account Setup QuickTour Packages Modules Unwrap page!
Event Information Tcl Commands Editing Compile and Link Run the Job Debugging
Check this page with the
W3C Validator
(More checks...)
Parameters Tcl Files Find Data Batch Analysis ROOT Tutorial

Sitemap for the BaBar Offline Workbook


Account Setup
Getting an Account
Unix and PC Account Issues
Checking that it all Worked
Setting up your Account
Adopt the Hepix Login Scripts
SLAC World-Wide Web Account
SLAC Hypernews Account
Bringing your Computer to SLAC
Setting up your Desktop Computer
Non-SLAC users

Getting Started
Set up your release
Running a First Example Analysis Job
Finding some Data to run on - BbkDatasetTcl
Running the job
Viewing the Resulting Histograms

Packages and Releases
Software Structure
Release Numbers and Nicknames
What analysis release should YOU use?
SRT and CVS: Babar's Software Release System
Using SRT
SRT commands: newrel, srtpath, addpkg
workdir: The Work Directory
A note about user analysis packages

Modules and the BaBar Framework
AppModule: the C++ class
The AppModule::event() function
BaBar analysis package
Identifying modules
Module features

Event Information
Table of event information (above)
From detector to desktop
Available event information
BtaCandidate: the particle candidate class
BtaCandidate Lists
Tag-level ("nano") variables
Modules and event information
BaBar's databases

Run-time job control
Run-time commands
Framework Commands
Module Talk
Special case: Input modules
Example Framework session

Editing module code
Prerequisite: C++
The basic module
Getting HepALists of BtaCandidates
Looping over HepALists of BtaCandidates
Adding a module to the Framework
Append the module to the path
Example 1: Annotated QExample code
Example 2: Add a momentum histogram
Example 3: Creating a new module

Compile and Link
Introduction to gmake
Important gmake targets
A shortcut: Compiling or linking only one package
Example 2, Part 2: Compile and link your new code
Problems with Compile and Link
More about GNUmakefiles (optional)
Run the Job
The basic run command
Program Flow
Example 2, Part 3: Running the job
The workdir package
A warning about missing binaries

Compiling your Code for Debugging
Debugging on Linux: gdb
Debugging on Sun: dbx

Run-time parameters

Tcl files
Tcl commands
sourceFoundFile: How Tcl files work together
Tcl files in a BaBar analysis package
The main Tcl file
FwkCfgVar and snippet Tcl files
Input data
Standard physics routines
Module Configuration
Path or sequence setup
Event processing
Example 6: A non-interactive job controlled by Tcl files
Input data: Tcl files from BbkDatasetTcl

Find Data
Finding out what data sets are available
Finding out what SP Modes are available
Making tcl files
Contents of a tcl file
How to run on BbkDatasetTcl files
Collection names
Locating the database: condXXboot
Luminosity of a data sample: BbkLumi
Equivalent luminosity for Monte Carlo

Batch Processing
Batch guide in a nutshell
The Main Queues for Analysis Users
Available Queues
Submitting and Monitoring the Job
The bsub Command
Monitoring the Job
Deleting a Job
Getting the Output
Running BetaMiniApp
Log files and CPU time
Failed jobs and exit codes

Analysis Tools
Particle Identification (PID)
PID and Monte Carlo
Beta Operators
Combining BtaCandidates
BtaBooster, BtaHelicity and helicity angle Associators
B Flavor Tagging Roofit: A ROOT toolkit
WIRED: The BaBar event display

Introduction to ROOT
What is ROOT?
CINT I: the ROOT Command Line Language
Starting a New ROOT Session
Histograms in ROOT
Making your first ROOT Histogram
Filling your new Histogram
The Stats Box
Changing Histogram Attributes
Comparing Histograms
Copying Histograms
More Drawing Options
Including Error Bars in Histograms
Information Resources
Useful BaBar Web Pages
Unix Man Pages
BaBar People

The BaBar Detector

Unix for BaBAr
Man pages and help pages
Working with Multiple Flavors of Unix
Role of Regional Centers
File Systems and Directories
NFS and AFS: the File Systems
Your Disk Space in AFS
Standard Unix Disk Space
Commands for Manipulating Directories
Unix File Organization
The Shell Program
The path Variable
Environment Variables
Command Completion
Command Recall and the Arrow Keys
Standard Input, Output and Pipes
Clearing the screen
Archiving and quick file transfer
Commands for File Manipulation
Editing Files
File Protection and Permissions
Working with Files
Restoring Files from Backup
Printing Files
Examining Text in Files
Comparing files: diff, sdiff
Job control

Introduction to C++
Choose a text editor
C++ Syntax
Basic Syntax
Data Types, Pointers, and Arrays
Class Syntax
Loops and Conditional Statements
General Code Structure
C++ Structure
Program Organization
Header File
Implementation File
Standard Libraries

Simulation and Reconstruction
Reconstruction of real data
Production and simulation of simulated data
Skim Production
The Reconstruction Software
How to run Elf, Bear, and Moose
Make a space for your collections
Set up a production release
Produce simulated collections: Moose
Examining the output collections: KanUtils
Reconstruct real data: Elf
Skim collections: SkimMiniApp
Loose ends

CM2 ntuples tutorial

ROOT tutorial II

ROOT tutorial III