Difference between revisions of "GlueX Analysis Software"

From GlueXWiki
Jump to: navigation, search
(Other)
(ANALYSIS/PID Libraries: Minor Issues)
Line 49: Line 49:
 
** For PID FOM calculation, hard-coded values/functions are used for the uncertainties, rather than the covariance matrices.  
 
** For PID FOM calculation, hard-coded values/functions are used for the uncertainties, rather than the covariance matrices.  
 
** PID Confidence levels for the BCAL and FCAL(?) systems are too high.   
 
** PID Confidence levels for the BCAL and FCAL(?) systems are too high.   
* The target center is hard-coded as the position of the DBeamPhoton in DEventSourceHDDM.cc, and in the DMCReaction contents in both event sources.
 
 
* Pulls of neutral shower parameters in b1pi are too wide (~1.3)
 
* Pulls of neutral shower parameters in b1pi are too wide (~1.3)
  

Revision as of 15:41, 5 August 2014

Documentation Notice

  • This documentation is updated as code is checked into the svn trunk, so it may contain information that is untrue for the latest tagged release.

Summary

  • In his/her plugin, a user specifies the reaction(s) he/she wants to study (DReaction), along with the histograms and cuts to perform (if any) (DAnalysisAction), then just asks JANA for the results (DAnalysisResults).
  • These results can then be saved to a ROOT TTree (DEventWriterROOT), or can be used to make a REST skim (DEventWriterREST).
  • Through this process, the program creates all possible track combinations for the desired reaction (DParticleCombo, tag "PreKinFit"), kinematic fits the event to the reaction (if requested) (DKinFitResults), and updates the tracks with the new kinfit information (DParticleCombo, no tag).
  • The DAnalysisAction objects encapsulate the setup and execution of an action (e.g. cut, histogram) into a single object.
    • Many common actions are predefined in DANA (see libraries/ANALYSIS/DHistogramActions.h and libraries/ANALYSIS/DCutActions.h), but the user can write custom ones for their analysis in their plugin.
  • The DAnalysisResults objects indicate which DParticleCombo objects have passed/failed the DAnalysisAction cuts for each DReaction.

Quick Start

  • Use the MakeReactionPlugin.pl or MakeSkimPlugin.pl perl script to create a new plugin for your analysis / skim.
    • Execute either script with no arguments for usage instructions. A minimum of one argument is required (the plugin name).
    • It is recommended that you run either script with unique names as the arguments. That way this plugin can be executed with other analysis plugins simultaneously.
  • Use the MakeAnalysisAction.pl perl script to create any desired custom DAnalysisAction objects for your analysis.
    • See existing analysis actions in sim-recon/src/libraries/ANALYSIS/DHistogramActions.h and sim-recon/src/libraries/ANALYSIS/DCutActions.h for examples.
  • In DReaction_factory::init(void), create a DReaction object (with a unique name!) for each analysis you want to perform, specify the kinematic fit type for it, specify the DAnalysisActions for each, and add them to _data.
    • The DAnalysisAction objects are executed sequentially for each possible particle combination (DParticleCombo) matching the given DReaction, until it fails a cut.
    • If more than one DAnalysisAction object of a given type is used in a DReaction, all of their constructors must be called with a unique identifier string (including the default "").
    • More details on analysis actions in sim-recon/src/libraries/ANALYSIS/: DAnalysisAction.*, DHistogramActions.*, DCutActions.*
  • Setup the DEventProcessor (e.g. grab results, save output to ROOT, etc.).
  • Compile and run hd_root with your plugin (preferably on REST data).

Example Plugins

Known Issues

Reconstruction Libraries: Minor Issues

  • DTOFPoint::tErr is not set.
  • For DBCALShower and DFCALShower: only the diagonal elements of the covariance matrices are reported; the full covariance matrix is needed.
  • For DFCALShower: the position uncertainty in z is often way too large, causing a spike in its pull distribution when kinematic fitting.
  • Sometimes the neutral shower variances are 0 and NaN.

ANALYSIS/PID Libraries: Major Issues

  • Kinematic fits with spacetime constraints don't work yet.
  • Kinematic fits with massive neutral particles don't work yet.
  • Missing beam particle is not yet supported.

ANALYSIS/PID Libraries: Minor Issues

  • PID/Detector-Matching:
    • Several variables in DDetectorMatches are not yet calculated, are set to 0.0 (e.g. BCAL dx, correlations, variances, etc.)
    • For PID FOM calculation, hard-coded values/functions are used for the uncertainties, rather than the covariance matrices.
    • PID Confidence levels for the BCAL and FCAL(?) systems are too high.
  • Pulls of neutral shower parameters in b1pi are too wide (~1.3)

More Information

Presentations

Classes

Other