Difference between revisions of "DIRC Software Overview"
From GlueXWiki
(→PID additions) |
(→PID additions) |
||
Line 35: | Line 35: | ||
=== PID additions === | === PID additions === | ||
− | * DParticleID | + | * '''DParticleID''' |
** Initialize DIRCLut class and call CalcLut for tracks with relevant input from track | ** Initialize DIRCLut class and call CalcLut for tracks with relevant input from track | ||
− | * DDetectorMatches | + | * '''DDetectorMatches''' |
** Added DDIRCMatchParams to contain DIRC information associated with tracks | ** Added DDIRCMatchParams to contain DIRC information associated with tracks | ||
** Functions match tracks to DIRC hits and run LUT algorithm | ** Functions match tracks to DIRC hits and run LUT algorithm |
Revision as of 23:06, 5 January 2019
Contents
Software Packages and Setup
The software packages required to run DIRC simulation and reconstruction are a part of standard GlueX software deployment.
- Packages: hdds, halld_recon, halld_sim, hdgeant4, and gluex_root_analysis
- For the 2018 commissioning period we are using a branch of these repositories: dirc_commissioning_2018
- Installation instructions and a list of steps to start generating simulation can be found in this README file
The latest version of MC samples which can be studied with this branch are located at:
- LUTs:
/group/halld/Users/jrsteven/2018-dirc/dircsim-2018_08-ver08/
- Event samples:
/volatile/halld/home/jrsteven/2018-dirc/dircsim-2018_08-ver08/
halld_recon/src/libraries
DIRC classes
- DDIRCGeometry: Load bar position from HDDS, and provide tools for converting pixel # to PMT/pixel row and column for hit patterns
- DDIRCLut: LUT algorithm comparing hit pixel channel/time with expectations, and calculate PID likelihood
- DDIRCLutReader: Utility class to load ROOT TTree containing LUT from CCDB or command line argument for local files
- DDIRCPmtHit: Calibrated hit for PMT pixels consisting of hit channel, time, and time-over-threshold
- DDIRCTDCDigiHit: Uncalibrated hit for both leading and trailing edge of pulses
- DDIRCTruthBarHit: Truth information for tracks incident on fused silica bars
- DDIRCTruthPmtHit: Unsmeared hit for PMT pixels
HDDM additions
- DEventWriter/SourceHDDM/event.xml:
- Add DDIRCTruthBarHit, DDIRCTruthPmtHit and DDIRCPmtHit to event record for hdgeant and mcsmear output.
- DEventWriter/SourceREST/rest.xml:
- Add DDIRCPmtHit and DDIRCMatchParams to REST output format
PID additions
- DParticleID
- Initialize DIRCLut class and call CalcLut for tracks with relevant input from track
- DDetectorMatches
- Added DDIRCMatchParams to contain DIRC information associated with tracks
- Functions match tracks to DIRC hits and run LUT algorithm
Plugin additions
- DIRC_online: online monitoring plugin for both DIRCTDCDigiHits and DIRCPmtHits
- dirc_hists: diagnostic histograms for LUT algorithm for with inclusive sample of tracks
- dirc_reactions: diagnostic histograms for LUT algorithm for gp -> 2pi p and gp -> 2k p reactions ("identified" pi/K samples)
- monitoring_hists: add DIRC PID histograms to standard plugin for reconstruction diagnostics (see ANALYSIS library)
- truth_dirc: plots of hit patterns for DIRC truth hit objects
- lut_dirc: utility for creating ROOT TTrees to make LUT for reconstruction
- pid_dirc: utility to create ROOT TTrees for standalone LUT macros
Command line options
- REST:WRITE_DIRC_HITS - Use with danarest plugin to save DIRCPmtHits to the REST file for later analysis
- REST:DIRC_CALC_LUT - Use when analyzing REST files containing DIRCPmtHits to re-calculate the LUT algorithm
- DIRC:DEBUG_HISTS - Fill debugging histograms on in DIRCLut class inside algorithm (significant slowdown due to thread locking)
- DIRC:TRUTH_BARHIT - Use DIRCTruthBarHit information for track position and momentum vector (not available when analyzing REST data)
- DIRC:TRUTH_PIXELTIME - Use DIRCTruthPmtHit (un-smeared) for pixel time in LUT algorithm (not available when analyzing REST data)
- DIRC:CUT_TDIFFD - Timing cut (+/- in ns) for direct photons
- DIRC:CUT_TDIFFR - Timing cut (+/- in ns) for reflected photons
- DIRC:SIGMA_THETAC - Single photon Cherenkov angle resolution for likelihood calculation
Analysis Scripts
- Analysis and calibration scripts should be located in
dirc/
directory of hd_utilities
Translation table
- Initial decoder work ongoing by David
Simulation samples
Generator | Number of events (106) | Settings | Planned usage |
---|---|---|---|
bggen | 50 | General inclusive sample for many studies | |
gen_2pi_amp | 10 | ρ → π+π- | Pure sample of pions with relevant kinematics |
gen_2k | 2.5 | φ → K+K- | Pure sample of kaons with relevant kinematics |
k/pi p/m_p4_theata4 | 0.01 | π+/- K+/- particle gun at p=4 GeV, theta=4 degrees, phi = -90 degrees | Single particle tests |
LUT algorithm documentation
- Writeup from Maria
Studies
A list of DIRC Software Tasks is maintained, which are the required tools necessary for analysis of the commissioning data. Below are some planned/ongoing studies to evaluate the commissioning data.
Mis-alignment effects
- Goal: Study qualitatively how mis-alignments may impact hit patterns and LUT reconstruction
- Identify likely mis-alignments and implement in alternative geometries as examples of what we may observe in the data
- Example mis-alignments: angles of bar box plane, angle between bar box and optical box (at rubber gasket), translation of mirror box in optical box, etc.
- Develop script which parses text from DIRC_HDDS.xml (applies rotations and translations) and writes new XML file with mis-alignment (Yunjie)
- Also needs to implement survey results for finalizing geometry at start of run period
- Generate another sample of MC with modified geometry and use LUT from "as-built" geometry to see how the mis-alignments affect the commissioning observables
Final Alignment
- Goal: Optimize alignment parameters for positions and angles of all optical components using identified track samples
- Plan to use Bayesian optimization technique with FastDIRC algorithm (Cris/Yunjie)
- Closure test with MC by the end of the year?
- Possible tests using sub-samples for alignment procedure and validation
- Align optical box components using tracks from single bar, then test alignment with tracks from other bars
- Align all components using identified pion sample, then test alignment with identified kaon sample
Time imaging map
- Goal: Study performance of time imaging algorithm as a function of theta, phi (Maria)
Particle ID efficiency
- Goal: Using well determined reactions determine efficiency vs background rejection for different algorithms