GlueX Analysis Workshop 2013
From GlueXWiki
Contents
Purpose
The purpose of this tutorial/workshop session will be to give an introduction to using the Hall-D analysis tools. It is open to anyone either inside or outside the GlueX collaboration who has an interest in doing physics inside Hall-D. The tutorial will cover the basics of:
- Physics Analysis Framework
- Using Boosted Decision Trees
- Amplitude Analysis using AMPtools
The tutorial will consist of a few talks with room for questions/discussion.
Location and Time
The tutorial will take place:
DATE: July. 10-11, 2013
TIME: 9:00am to 4:30pm EDT (i.e. JLab time).
LOCATION: CEBAF Center L102 - L104
Remote Participation
Schedule Details (Work in Progress)
Overview (Matt)
- Talk (? min): Physics Overview
- Why amplitude analysis, underlying physics
- Talk (? min): Analysis/Workshop Overview
- Full combinatorics, kinematic fitting, some cuts in DANA and ROOT, BDT for primary signal/background separation, amplitude analysis
Monte Carlo (Matt(/Paul?))
- Talk (? min): Signal generation
- Talk (? min): Other standard monte carlo tools
- Exercise (? min): Generate γp→π+π+π-n with intermediate resonances
JANA/DANA (Paul)
- Talk (30 mins): Intro to JANA/DANA (factories & plugins)
- JANA is a framework: multithreaded, factory-based (describe concept of factories, tags (e.g. BCAL)), event-processors control the work flow
- The primary executable (hd_root) does virtually nothing by itself, the processor in your plugin tells it what to do
- Primary factory & plugin methods: init(), brun(), evnt(), erun(), fini()
- Basic Analysis Classes: DKinematicData, DChargedTrackHypothesis, DChargedTrack, DNeutralShower, DMCThrown, DBeamPhoton
- hd_dump: Prints data to screen
- Exercise (20 mins): Print basic analysis objects (DMCThrown, etc.) to screen via hd_dump and inside of plugin
- Stretch goal: figure out how to get the run number from inside the evnt() method and print it to screen for each event.
ANALYSIS Library (Paul)
- Talk (20 mins): Analysis Basics
- Blarg
- User specifies reaction & decay chain, library generates all particle combinations
- Particle Combinations: Why, and why so many? (extra tracks, any PID of same q, decay products of different particles)
- Basic example plugin: 3pi_n (go over line by line)
- Exercise (25 mins): Analysis Basics
- Generate 3pi_n plugin, manually histogram: #combos, #events with >= 1 combo, missing mass (calc manually), p-vs-theta & vertex-z for pi+'s and pi-'s
- Talk (20 mins): Analysis Details
- Thrown/Reconstructed track matching, PID FOM Calculation, New DTrackTimeBased for new PIDs, Event RF Bunch Selection, Kinematic Fitting
- Exercise (25 mins): Analysis Details
- Manually histogram: pid conlevs (dE/dx, timing, total), kinematic fit confidence level, missing mass after kinematic fit (conlev > 1%)
- Stretch goal: pi+ px pull (conlev > 5%), histogram pid confidence level vs. projected track start time for different PIDs for BCAL/TOF
- Talk (25 mins): Analysis Actions - Pre-existing
- Reaction-Independent (can be called manually): thrown, reconstructed track distros, gen-recon comparison (go over line-by-line on one)
- Reaction-Dependent Histograms (executed for each combo): PID, kinfit results, missing mass, invariant mass (go over line-by-line on one)
- Reaction-Dependent Cuts (executed for each combo): PID, kinfit conlev, missing mass, invariant mass (go over line-by-line on one)
- Exercise (25 mins): Analysis Actions - Pre-existing
- Add reaction-independent analysis actions: fill histograms and look at kinematics in ROOT
- Add reaction-dependent analysis actions: histogram kinematics, kinematic fit results, missing mass
Boosted Decision Trees (Mike & Justin)
Amplitude Analysis (Matt)
- Exercise (? mins): performing a single fit and analyzing projections
- Exercise (? mins): fitting the entire spectrum