Difference between revisions of "GlueX Analysis Workshop 2013"
From GlueXWiki
(→ANALYSIS Library (Paul)) |
(→ANALYSIS Library (Paul)) |
||
Line 70: | Line 70: | ||
** Reaction-Dependent Histograms (executed for each combo): PID, kinfit results, missing mass, invariant mass (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) | ** Reaction-Dependent Cuts (executed for each combo): PID, kinfit conlev, missing mass, invariant mass (go over line-by-line on one) | ||
+ | ** #events/combos pass cuts histograms | ||
* Exercise (25 mins): | * Exercise (25 mins): | ||
** Add reaction-independent analysis actions: fill histograms and look at kinematics in ROOT | ** Add reaction-independent analysis actions: fill histograms and look at kinematics in ROOT | ||
Line 79: | Line 80: | ||
* Exercise (15 mins): | * Exercise (15 mins): | ||
** Generate custom action to make dalitz plot of 3 pions. | ** Generate custom action to make dalitz plot of 3 pions. | ||
+ | |||
+ | '''REST & ROOT''' | ||
+ | * Talk (25 mins) | ||
+ | ** REST Skims, danarest plugin, TTree format, Making/Using a TSelector, beware double-counting when filling ROOT trees. | ||
+ | * Exercise (30 mins): | ||
+ | ** Create a skim of 3pi_n events, analyze the skim data, save the results to a root ttree, analyze the data in ROOT (make some plots) | ||
=== Boosted Decision Trees (Mike & Justin) === | === Boosted Decision Trees (Mike & Justin) === |
Revision as of 11:46, 19 June 2013
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(/Paul?))
- 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)
Analysis Basics
- Talk (25 mins):
- 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, beware double-counting), DParticleCombo contents
- 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
Analysis Details
- Talk (30 mins):
- Thrown/Reconstructed track matching, PID FOM Calculation, New DTrackTimeBased for new PIDs, Event RF Bunch Selection
- Kinematic Fitting
- Different object versions (DParticleCombo, hypotheses)
- Exercise (25 mins):
- 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
Analysis Actions - Pre-existing
- Talk (25 mins):
- 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)
- #events/combos pass cuts histograms
- Exercise (25 mins):
- Add reaction-independent analysis actions: fill histograms and look at kinematics in ROOT
- Add reaction-dependent analysis actions: hist/cut pid, hist/cut kinematic fit results, hist missing mass before/after kinfit conlev cut
Analysis Actions - Custom
- Talk (10 mins):
- Creating your own custom actions, remind to beware double-counting, warn about multi-threading issues
- Exercise (15 mins):
- Generate custom action to make dalitz plot of 3 pions.
REST & ROOT
- Talk (25 mins)
- REST Skims, danarest plugin, TTree format, Making/Using a TSelector, beware double-counting when filling ROOT trees.
- Exercise (30 mins):
- Create a skim of 3pi_n events, analyze the skim data, save the results to a root ttree, analyze the data in ROOT (make some plots)
Boosted Decision Trees (Mike & Justin)
Amplitude Analysis (Matt)
- Exercise (? mins): performing a single fit and analyzing projections
- Exercise (? mins): fitting the entire spectrum