FastPID Installation Notes
-
Original versions R.J.Wilson
May 07 & 28th, and Snowmass CD-ROM July 2001 (with "BobW" prepended)
-
Updated R.J.Wilson January 12,
2002 - Improved DEdxFastRecon energy loss model. New version renamed.
-
R.J.Wilson January 20, 2002
- Moved to new Web address: http://hep45.hep.colostate.edu/~wilson/flc/jas/pid/fast_PID.html
-
R.J.Wilson June 18, 2002 - update
instructions and links
- Remove
explicit xxxxxPropertyProvider since they now appear in lcd.jar
Add import hep.lcd.contrib.physics.* to
- Add s2 & s2dirc detector configurations
to
Detector_W02.jar
- Make dE/dx and DIRC track map classes public
and update FastPID_Wxx.jar
- Allow option of no dEdx in
MCFastPID_W01.java
Download the following and install where directed.
It should not interfere with the standard LCD
package.
Directions for use
-
First, skim through the contents of this web page.
-
Launch JAS (tested mostly with 2.2.3 and 2.2.5).
-
If all goes well, the jar files for this package will be loaded.
Basic operation
-
Load FastPID_SimpleDriver_W01
-
Open a dataset
-
the default operation in FastPID_W01 is MCFast on StdHep data. The optional
data file download is 1000 ttbar events at 500 GeV generated by Pandora/Pythia.
This is a good way to run through many events quickly.
-
if you only have access to LCD full simulation data (.lcd) files, you must
edit FastPID_W01.java to use TrackReco rather than MCFast (instructions in
the file). The FastPID package is the same.
-
Step one event (the "Step" button).
-
if it didn't crash, you are in great shape (amazing if it works!)
-
Check that there are a bunch of histograms in folder PIDAnalyzer_W01.
-
"pTypes" is a good one to look at. It shows the number of each particle type
that was reconstructed in that event. "noType" means no ID was possible within
the default quality cuts.
-
Let her rip with "Go".
-
With the 1000 ttbar events file, it takes about 48 secs. on my 650 MHz linux
laptop (<14 MB JAS memory).
-
Have a look at the histograms, some may make sense without even looking into
the code.
More fun for the adventurous
-
Rename the "PIDAnalyzer_W01" histogram folder to, say, "PIDAnalyzer_W01-l2"
-
Find the line in FastPID_W01.java with
and change it to
-
Recompile.
-
DIRC sim/recon/pid will be used automatically.
-
Hit "Go".
-
Compare the histograms and PID summary with those for the plain vanilla
"l2".
-
Repeat with your own changes to PIDAnalyzer_W01.java.
-
Load FastPID_SimpleDriver_W01
-
LCDFastPID should appear as a new menu
-
Play around with the LCDFastPID menu options
-
Show event display needs to be selected to get access to Event Display Options.
FastPID_W0n
extends Driver
process(LCDEvent) sequence:
PIDAnalyzer_W0n
extends AbstractProcessor
Note: This is just an example analysis
to look at the results of the fast PID package. It generates efficiency and
purity matrices, and a bunch of PID related histograms.
process(LCDEvent) sequence:
afterLastEvent:
-
Generate purity
and efficiency matrices.
MCFastPID
extends Driver
process(LCDEvent) sequence:
-
PID subsystem
fast simulation/reconstruction -
event data changes:
-
Add HashMap
PIDMapsTable.
ParticleRecon
extends Driver
process(LCDEvent) sequence:
event data changes:
DEdxFastRecon/DIRCFastRecon/....
extends ParticleIDRecon
Constructor sequence:
process(LCDEvent) sequence:
event data changes:
-
add subsystem
TrackxxxxMap
to PIDMapsTable e.g. TrackdEdxMap
ParticleTrackAssociation
extends AbstractProcessor
process(LCDEvent) sequence:
event data changes:
-
add ReconstructedParticle
ParticleID
extends Driver
process(LCDEvent) sequence:
-
Invoke subsystem
ParticleID classes e.g.
-
Loop over ReconstructedParticleVector
-
Combine log{likelihood}
values from subsystems
-
Produce summary
PID information for PidInfo member of ReconstructedParticle e.g. "bestID"
event data changes:
DEdxParticleID/DIRCParticleID/...
extends AbstractProcessor
process(LCDEvent) sequence:
-
Loop over ReconstructedParticleVector
Use subsystem simulated data to produce track log{likelihood} values for
e, mu, pi, K, p
event data changes:
-
add subsystem
log{likelihood} map (class
TrackPTLnLikelihoodMap
) to the subsystems TrackxxxxMap in PIDMapsTable
ReconstructedParticle
-
carries reconstructed
track and pid information
TrackdEdxMap
-
map of reconstructed
tracks to track enery loss
TrackDIRCMap
-
map of reconstructed
tracks to track Cerenkov angles
TrackPTLnLikelihoodMap
-
map of reconstructed
tracks to ln{likelihood} info
PidInfo
-
map of reconstructed
track PID info.
HelixPid
-
Used to get
the helical path length in the tracking chamber (DEdxFastRecon).
PID_W0n.jar source file links
Detector_W0n.jar
hep.lcd.detector.l2(s2)
-
same as detector
l2(s2) in lcd.jar, v1.32, plus DEdx_Parameters.ini file.
hep.lcd.detector.l2dirc(s2dirc)
-
detector l2(s2)
plus DIRC and DEdx parameters files.
hep.lcd.geometry.component
-
DIRC_Barrel.java
Defines the DIRC_Barrel object (and sets the color) for use in the event
display.
EventDisplay_W01.jar
hep.lcd.plugin
LCDFastPlugin.java
: Simple event display based on original
package of the same name but using ReconstructedParticle and with some enhancements.
- Can
display both charge and neutral MC particles, and reconstructed tracks.
- Can
display particle ID labels for both MC and reconstructed tracks.
- Reconstructed
track labels include a "goodness" value that is the log(likelihood) difference
of the "best" choice to the next best.
- Adds
a reconstructed particle table (see below).
- Can
display a label with the index of the track in the reconstructed particle
table.
ReconParticleTable.java
: Table of ReconstructedParticle information,
displays
- MC
and reconstructed particle IDs
- "Goodness"
value that is the log(likelihood) difference of the "best" choice to the next
best.
- "notaPion"
value that is the log(likelihood) difference of the "best" choice to a pion
hypothesis (if it exists).
- The
subsystems that contributed to the reconstructed ID (e.g. DEdx01, DIRC etc.).
-
Provides particle
properties used in Pandora/Pythia.
-
Modified to
include an equals() method -compares absolute value of PDG IDs of two ParticleType
objects.
-
Instantiated
in FastPID driver in the PID package.
-
Appears in recent versions of lcd.jar - lcd.contrib.physics
-
Replaced by
PythiaParticlePropertyProvider in FastPID_W01 driver - provides provided
here to include the equals() method. {Note: This feature appears in recent
versions of lcd.jar
- lcd.contrib.physics}
-
Modified to
include an equals() method -compares absolute value of PDG IDs of two ParticleType
objects.
{Note: This feature appears in recent versions of lcd.jar
- lcd.contrib.physics
}
RJW Jan 14, 2002