SLAC PEP-II
BABAR
SLAC<->RAL
Babar logo
Workbook HEPIC Databases PDG HEP preprints
Organization Detector Computing Physics Documentation
Personnel Glossary Sitemap Search Hypernews

Sitemap for the BaBar Offline Workbook

Search
Introduction
Current Status
Purpose
Using the Workbook

Meta Information
Origins
Approach
Notes for Contributors
To Do List
Authorship

Non-SLAC Running
IN2P3
RAL
LBL

HOWTO's
HOWTO's Currently Available
How to view HOWTO's on the Web
How to obtain HOWTO's - addpkg
How to obtain HOWTO's - cvsweb

Intro to BaBar
Logging In
Getting an Account
Unix account issues
Checking everything is ok
Setting Up Account
SLAC WWW accounts
Hypernews
Bringing your computer to SLAC
Setting up a desktop computer
Secure Shell

Quick Tour
Introduction
Trouble Shooting
Getting Started
Example Analysis Job
Adding packages
Compiling code
Finding data to run on
Viewing Resulting Histograms

BaBar Detector
Intro to Particle Detectors
The BaBar Detector Systems
Coords, Units and Conventions

Information Resources
Useful Web Pages
Electronic Communications
Meetings
Unix Man Pages
PEPII/BaBar Oracle Database
Who's Who in BaBar
Contacts for Other Help
Software Infrastructure
CM2 Introduction

Unix for BaBar
Man Pages and Help Pages
Working with Unix Flavors
Role of Regional Centers
File Systems and Directories
Working with Files

Object Oriented Software
Why You Need to Know about OO
Basic Features of OO
Benefits of OO
C++: the BaBar OO Language

SRT
Software Structure
CVS
Using SRT
Restarting After a New Login
Tracking Your Work
More about Tags

Objectivity Conditions Database
Conditions Database
Terminology and Structure
Environment Setup

Event Store
Introduction
Data content of the Mini
Level-of-Detail when accessing the Mini
The Conditions Database
Nano/Micro Level Quantities
Frameworks
Application Framework
Modules, Sequences and Paths
Using Tcl

Beta: the Analysis Package
Basic Structure
Variables
Program Flow
Input and Output Control
Finding Available Data
Beta Candidates

Modifying existing C++ code
Writing and Editing Code
Choose a text editor
C++ Syntax
C++ Structure
Classes and Packages
HBOOK
BaBar Analysis Examples

Compile, Link and Run
gmake
Compiling New Code
Linking New Code
Running New Code

Debugging
Introduction
Compile options for Debugging
HOWTO-Basic-Debugging
Command-line debuggers:
gdb
Quick debug session
dbxGUI debuggers: ddd and Workshop
Analysis
Framework Continued
Module and Framework Implementation
Module Talk
Framework Interactive Module Example

Analysis
Available Event Information
Extra analysis tags
Candidate Lists
Particle Identification
Beta Operators
Combining BtaCandidates
Vertexing and Fitting
SimpleComposition
BetaCoreTools and BetaTools
Associators
B Flavour Tagging
Roofit: A ROOT toolkit
Doxygen

Finding Data
Available data sets
Available SP Modes
Making tcl files
Contents of a tcl file
Run on BbkDatasetTcl files
Collection names
Conditions database
Luminosity of data: BbkLumi
Luminosity of Monte Carlo
Batch Processing
Batch versus Interactive
Submitting and Monitoring Jobs
Deleting a Job
Getting the Output
Main Queues for Analysis
Running Beta
Log files and CPU time

Analysis in PAW
Make an HBOOK file
Viewing Histograms
pawlogon.kumac
PAW Kumacs
Ntuples in PAW
Printing PAW Output
Running PAW on NT

Analysis in PAW II
Set up Macros Directory
Several Macros in Single File
Publication-Ready Plots

Analysis in ROOT I
Why Use ROOT
CINT
New ROOT Session
Histograms
Getting Help
Saving Histograms
Saving Histogram Source
Opening Files
Changing Between Files
ROOT Tutorials
ROOT, PAW and h2root
Analysis in ROOT II
Further Histogramming
Functions
Plotting Data Points
Fitting
Using Cuts
Graphical User Interface
CINT 2
Using Macros
Histogramming in BaBar
Linking ROOT Files
ROOT Trees
Other Commands
RooFit
Analysis in ROOT III
ROOtuple selector
Basic histogramming
Chains
Write histograms to file
Run code with macro
Batch/background mode
CLHEP
Add function to analysis class
Add functions outside analysis class
Multiple data types
Publication-quality plots
Advanced Infrastructure
New Releases
Removed releases
Available releases
Tags
Updating and removing packages
updrel - Updating a release
Release for Analyzing Real Data

workdir
Structure
Running Applications
More Uses
Main Package Details
Event Display
WIRED

Generation, Simulation and Reconstruction
Real data
Simulated data
Skim Production
Reconstruction
Elf, Bear and Moose
Description of reco output
PhysProdTools package
Premade data
Run the main executables

Contributing Software
SRT and CVS for Contributors
Package Coordinators
Managing Code with CVS
Tagging Conventions
Dealing with Objectivity through gmake

Writing Code
OO Courses and References
C++ Coding Conventions
External Class Libraries
Warning and Error Messages
CodeWizard
Great Circle
Insure++

Advanced Topics
Making CM2 ntuples with
SimpleComposition and BtaNtupleMaker

Introduction
Setup release
Analysis code
Preparing jobs
Running Jobs
Self-Conjugate Modes and Clones

Creating Packages
Introduction
Package naming
Making new package
Dependency files
Renaming files
Updating PackageList package
Compiling and running your new binary
Conclusion

Creating Packages
Starting
Initiating Package
PackageList additions
Inclusion in software releases
Package Coordinator
SRT
CVS
Reporting Bugs and Fixes

Classes for Persistent Objects
Writing Persistent Classes
Guidelines for Design
Rules for Persistent Classes
Adding New Code

Java in BaBar
Appropriate Use within BaBar
Standards for Java Use
Java in an SRT Package

New Site Software Installation
Before starting
Third Party Packages
Copying a Release
Site Customization
CVS Repository
Testing
Keeping Updated


Author: Jenny Williams
Last modification: 5 September 2005
Last significant update: 13 June 2005

Valid HTML 4.01!