Next:
Contents
Contents
The MINOS Off-line Software User's Manual
Release R1.28
Contents
Job Control
Running and Configuring
loon
Writing a JobControl Macro
Creating job paths
Running job paths
Filters
Job Configuration
Module configuration
Framework services
Job modules provided by the framework
Input module
Other modules
How to Make a Job Module
Automatic generation of source code
Job modules: A closer look
JobCResult
HandleCommand
Message Service
Introduction
Configuring Message Service from Loon
Setting Logging Levels
Setting Stream Formats
Writing Code using MessageService
Basics
Formatting Numerical Data
Hints and Tips
Advanced Features
The Trip Wire Debug Facility
Modules, Algorithms and Candidates
Introduction
Concepts
Module
Handle
CandContext
MOM
Algorithm
Candidate
Naming Convention
A Simple Example: DigitListModule
Introduction
DigitListModule code
CandDigitList code
AlgDigitList code
AlgDigit code
Summary
Working with Modules
Working with Candidates
Designing Candidates
Creating Candidates
Using Candidates
Printing Candidates
Teaching Candidates to print themselves
Working with Algorithms
Designing Algorithms
Creating Algorithms
Using Algorithms
Conventions
Coordinate Systems and Plane Numbers
Enumerations
DetectorType
SimFlag
Plane View and Coverage
StripEnd
Electronics Readout Types
Units and Physical Quantities
Plexus
Introduction
Creating a plexus
Configuring the Plex
Managing shared plexii
Caching a copy of the loan pool
PlexStripEndId
PlexSEIdAltL
Special Channels
Far Detector Veto Shield
UgliGeometry
Introduction
Creating a geometry
Configuring how geometries are constructed
Managing shared geometries
Caching a copy of the loan pool
UgliGeomHandle
UgliPlaneHandle
UgliStripHandle
Building, changing and sharing a modified geometry
Geometry
Introduction
Creating a geometry
Definitions
Material/Mixture
Medium
Detector Components
Configuration
Configuration of medium assigned to detector component
Configuration of swim method assigned to detector component
Configuration of tracking flags assigned to a medium
Database Interface
Concepts
Types of Data
Simple, Compound and Aggregated
Tables of Data
A Cascade of Databases
Context Sensitive
Extended Context
SimFlag Association
Authorising Databases and Global Sequence Numbers
Validity Management
Rollback
Lightweight Pointers to Heavyweight Data
Natural Table Index
Task
Level 2 (disk) Cache
Running
Setting up the Environment
Configuring
Rollback
SimFlag Association
Shutdown
MakeConnectionsPermanent
Ordering Context Query Results
Level 2 Cache
Accessing Existing Tables
Introduction
Accessing Detector Descriptions
Making the Query
Accessing the Results Table
Getting Data from a Row
Making Further Queries
Simple Optimisation
Accessing Algorithm Configuration
Writing Algorithm Configuration
Extended Context Queries
Making the Query
Accessing the Results Table
Error Handling
Response to Errors
Error Logging
Creating New Tables
Choosing Table Names
Creating Detector Descriptions
A Simple Example
Creating a Database Table
Designing a Table Row Class
The LinkDef.h file
The GNUmakefile file
Data Encapsulation
Filling Tables
Overview
Aggregate Numbers
Simple Example
Using DbiWriter
Table Row Responsibilities
Creating and Writing Temporary Tables
Clearing the Cache
ASCII Flat Files and Catalogues
Overview
Flat Files
Format
URL
Catalogues
Format
URL
Example
MySQL Crib
Introduction
Installing
Running mysql
System Administration
Selecting a Database
Creating Tables
Filling Tables
Making Queries
Performance
Holding Open Connections
Truncated Validity Ranges
Timing
Navigation
Introduction
Using the Tools
Naming Convention
Introduction
Creating the Class Code
Creating Iterators for Supported Classes
Sequential Access
Iterating without operator overloading
Functors Iterators
STL like Iterators
Sorting with a Single Function
Sorting with Multiple Functions
Selection
General Principles
Selection by Slicing in One Dimension
Selection by Slicing in Multiple Dimensions
Selection by User Function
Inverting Selection by User Function
Selection by Mapping
Functors: Programmable Sorting and Selection
Masks
Optimising Sorting and Selection
Delayed Updating
Avoid Excessive Slicing
A Final Word
Iterating in Multiple Dimensions
Random Access
Cloning Iterators
Refresing Iterators
Creating the Navigation Objects
Creating Iterators
Creating Lattices
Background - The need for generic tools
Function and Form
Functionality
Form
Registry
Introduction
Basics of Registry
Creation
Setting values
Getting values
Iterating on the keys
Miscellaneous Methods
Raw Data and Rotorooter
General Principles
Details of the
RawDataBlock
Details of the
RawBlockId
Details of the
RawChannelId
Operation of the
rotorooter
Online code interface to the
rotorooter
Calibrator
Purpose
Structure
Configuring the Calibrator
Choosing Schemes
Turning Calibration Off
Configuring the Sub-Calibrators
Configuration, Statistics, Errors
Writing a New Sub-Calibrator
Migrating from the Old DigitCalibrator and StripCalibrator
Calls Via AlgConfig
Direct Calls
Data Model and I/O
Introduction
Persistency and ROOT
Data Model
Definitions
More on Records
Input Stream Management
Specifying input files
Identifying the Source of a Data Record
Output Stream Management
Specifying output streams and files
User-defined output streams
Writing data to multiple output files
Salvaging output data from crashed jobs
Miscellanea
Rules for writing a Persistable Class
Ntuples
Introduction
Standard Ntuples (NtpSt/SR/MC/TH)
Using ntuples
Analyzing ntuple data in a bare root session with TBrowser,TTree::Draw, etc.
Use of the TruthHelperNtuple
Analyzing ntuple data in a bare root session with MakeClass
Analyzing ntuple data in a loon session with a script
Analyzing data from multiple ntuple trees in parallel
Leak Checker
Introduction
Inserting Leak Checker probes into code
Adding probes for MINOS classes
Adding probes for foreign classes
Activating the probes
Accessing Leak Checker statistics
A final word of warning
Dependency
How to make the list of dependencies?
Why is this useful?
R2HBOOK
Database Maintenance
Introduction
Building and Running dbmjob
Building
Running
Exporting Data
Importing Data
Dispatcher
Introduction
Installing the Dispatcher Parent Server
Running a Dispatcher Client
An Example Use of DDSClient Interface
An Example Use of JobC Interface
Minos Event Display (sub) framework: Midad
Introduction
Using and configuring Midad with out writing code.
Midad Design
Design Overview
Main graphical objects
Update Policy for Scene and Scenery
Memory Management
Configuring Midad in a ROOT macro
Minimal setup
Detailed setup
Monte Carlo Information
Accessing Truth Information
Various Numerical Codes
Examples of StdHep structures
StdHep controls in GMINOS
Regarding
TrackId
ParticleTransportSim
Status Codes
StdHep controls in PTSim
Configuration option
StdHepSave
Configuration option
StdHepSelectMask
Configuration options
StdHepThr
and
StdHepThrByType
Configuration option
StdHepHitThr
Configuration option
StdHepSaveSibling
About this document ...
Robert Hatcher 2009-06-29