Document 7527277

Download Report

Transcript Document 7527277

Java Reconstruction and Analysis for
a Linear Collider Detector
Tony Johnson
SLAC/Babar Tutorial
November 11th 1999
Contents

The Java hep.lcd framework for LC physics studies
– Overview
– Why Java?
– Fast MC
– Tracking Reconstruction
– Cluster Finding

Java Analysis Studio

Distributed Physics Analysis

Java Performance

Conclustions - How to try it out!
LCD Road Map
Gismo Material Files
Generator Files
Track Momentum Resolution Tables
Generator(s
)
Parameter Files (JAS)
Geometry Description Files
Parameter Files (Root)
stdHEP
files
fastMC
(Root)
Gismo
ASCII
recon
fastMC
(JAS)
ASCII raw
data
JAS parser
Root parser
Root parser
JAS parser
.lcd files
Root files
Root files
.lcd files
Full Recon
Root
Analysis
JAS
analysis
Yellow = Java hep.lcd package
What is hep.lcd?

A Java Framework for
– Running Reconstruction and/or FastMC
– Analysis of LCD data from Stdhep, Gismo, FastMC

A Tool for
– Rapid Development of Reconstruction Algorithms

A Suite of Physics Analysis Tools
– Histograming, Event Display, Jet Finding, etc.

Emphasis on Flexibility and Extensibility
– Typically provide multiple reconstruction algorithms
– Support for Large + Small + ...

Can be used standalone or inside Java Analysis Studio
Why Java?

Modern Object-Oriented language

Easy to learn and use
– No backwards compatibility with C etc.
– No pointers, memory leaks
– Syntax very similar to C++, but without many of the more
obscure, less useful features

Very Suitable for Rapid Prototyping
– Powerful built-in utility libraries
– Fast compiler, no link step, dynamic loading

No problems with porting code to new platforms

Can use Java Analysis Studio for interactive analysis

Bottom Line
– If you know C++ Java will be familiar and a refreshing change
– If you don’t yet know C++ Java is an excellent stepping stone
Java package hep.lcd

Framework
– Driver framework
• interactively control
– calling of processors
– debugging/histograming
– Parameter (Constant) access
• driven by detector geometry
– MC event input (StdHEP format)
– IO system based on Java IO
• random access files allows
efficient access to subset of
data
– Can be run inside JAS or
standalone

Reconstruction Processors
– Track finder + track fitter
– Several clustering algorithms

Parameterized MC Processors
– Can read generator output
(StdHEP) or Gismo output
– Track and Cluster smearing

Analysis Utilities
– Event Shape + Thrust utilities
– Jet finders [Jade, Durham]
– Histograming

Event Display
– Simple 2D Event display
currently
Track Finding/Fitting

Track Reconstruction
– Track Finding uses M.Ronan’s (TPC) pattern finding
• Tuned for Large + Small detector
– Track Fitters:
• SLD Weight Matrix Fitter
• Kalman Filter coming soon
– Fortran not Java, will need native library for each platform
• Can do Single Detector or Combined fit (e.g. VTX+TPC)

Hit Smearing/Efficiency (since Gismo gives “perfect” hits)

Random Background overlay

What’s still needed
– More Track Finding Algorithms (Cheater, Projective Geometry)
– End Cap tracking
Cluster Finding

Three Clustering Algorithms Currently Implemented
– Cluster Cheater (uses MC truth to “cheat”)
– Simple Cluster Builder (Touching Cells)
– Radial Cluster Builder
• All algorithms tend to produce many very low energy
clusters - important to set sensible thresholds

Still Needed - Cluster Refinement Stage
– Combine HAD + EM clusters
– Endcap + Barrel overlap region

In Progress - Track Cluster Association
– Initial Implementation Done by Mike Ronan
– Output Format defined by Gary Bower
– Need to Extend Definition of Clusters
• Directionality, Entry point to calorimeter
Fast MC

Simple parameterized MC
– Allows analysis directly from generator output without using full
Gismo simulation
– Produces same event format as Gismo
• same analysis can be run with FastMC or Gismo. Can read
StdHEP (generator files) or Gismo output

Produces tracks from MC particles based on parameters provided
by Bruce Schumm
– Produces Tracks + Error Matrices
– Output compatible with Output from Full Recon

No Calorimeter Simulation at Present
Physics Utilities

Physics Utilities
– 4-vector, 3-vector classes
– Event shape/Thrust finder
– Jet Finder
• Jade and Durham algorithms implemented
• Extensible to allow implementation of other algorithms

Histograming (from Java Analysis Studio)

Event Display
– Suitable for debugging reconstruction and analysis
– Plan to use Wired for full 3D support in future

Particle Hierarchy Display

Contrib Area
– Analysis Utilities and sample analyses provided by users
Event Display
Event Display
Event Display
Event Display
Documentation

http://www-sldnt.slac.stanford.edu/jas/documentation/lcd/
Access to Code - CVS

Code recently moved to CVS for universal access
– Most development currently done on NT
– Now Unix development should be easy too
– Browse CVS repository on Web
– Connect with you favorite CVS client
•
•
•
•
•
•
protocol: pserver
server: sldl1.slac.stanford.edu
cvsroot: /nfs/slac/g/jas/lcdroot
userid: anoncvs
password: jascvs
module: lcd
Java Analysis Studio

Set of experiment independent analysis tools for event oriented
(High Energy Physics) data
– Data Access classes provide access to many common HEP
data formats
– Histogram/Scatterplot Accumulation + Manipulation Classes
– Plot Display classes
– Lightweight framework for users to create physics analysis
applications in Java.

Tools work alone, in combination, or within
– Java Analysis Studio GUI which gives:
• Integrated editor and compiler
• Efficient access to local and remote data
• Extensibility via Plug-ins, Fitters, Functions etc
GUI makes getting started easy
“Wizards” guide beginners
Built in Editor and Compiler
for writing analysis code
Histogram and Scatterplot display
Interactive Fitting and Rebinning
GUI can be extended to add
experiment specific features
Distributed Data Analysis with JAS
TCP/IP Network
GUI
Experiment
Extensions
(Event Display)
Java
Compiler +
Debugger
Padded Cell
Users
Java
Code
Data
Analysis
Engine
Data

With many different simulated detectors and many physics
processes, total MC data sample is large

JAS has built in support for efficient distributed physics analysis
Data Repository at Penn

LCD has set up central data repository at UPenn, accessible from
anywhere
Is Java fast Enough for HEP offline?

Current (266Mhz PII, JDK 1.1.7)
• Clustering .6 secs/event
– 13.5 Million Calorimeter Cells
• Fast MC 6 ms/event
• Track Finding + Fitting ~5secs/event
– Very competitive with C++/Root implementation (where they
exist)

Will get even better!!!
• JDK 1.2, HotSpot - Run-time optimization

In real life may be faster than C++
• Better, cheaper performance analysis tools
• Java encourages lightweight, module interfaces which
promote efficient coding styles

People time is what really matters
Reconstruction Speed
Cluster Finding
JDK1.1.8 -nojit
JDK1.1.8
MS 5.00.3177
IBM1.1.7
Seconds/Event
1.2
1
0.8
0.6
IBM1.1.8
JDK 1.2.1 Classic
JDK 1.2.1 HotSpot
0.4
0.2
0
Virtual Machine
Track Finding + Fitting
JDK1.1.8 -nojit
JDK1.1.8
MS 5.00.3177
IBM1.1.7
IBM1.1.8
JDK 1.2.1 Classic
JDK 1.2.1 HotSpot
40
Seconds/Event
35
30
25
20
15
10
5
0
Virtual Machine
Example of
Using Track
Recon.
To Do List

Finish integration of MCFast Kalman filter

Support for merging signal/backgrounds

Additional Track Finders (projective, “cheater”)

Improved Cluster Description

Track/Cluster Association

Cluster Refinement

Vertex Finding code (based on ZVTop?)

WIRED Event Display

Support for SIO format reading/writing

Switch to XML based geometry description

Small Angle Tracking

Reference Analyses
We Need Your Help
Try it out!

Come to the tutorial this afternoon

Works on Windows (95/98/NT] or Unix (Linux, Solaris,…) or Other

Online tutorial available
– Suitable for complete beginners:
• no knowledge of Java or JAS assumed
• starts with instructions on downloading and installing
• Shows simple sample analysis jobs
– http://www-sldnt.slac.stanford.edu/jas/documentation/lcd/

JAS Home Page
– http://www-sldnt.slac.stanford.edu/jas
New Features in JAS 2.0

Many bug fixes - Printing Works - Save Histograms as GIF’s

Easier to install LCD extensions
– no need to edit jas.ini

Support for logging output to a file

Supports 2D Binned Histograms (in addition to 1D Histograms
and Scatter Plots)

Standalone jobs can save histograms (for later viewing in JAS)

Local jobs can append multiple datasets

Built-in LCD documentation/help

Gotcha’s for LCD users
– Must use JAS 20 version of lcd.jar (in lcd download area)
– Cannot connect to old servers (SLDNT0 OK)
JAS 2.0 – Now available from JAS website