GlueX Data Classes

From GlueXWiki
Revision as of 23:45, 13 September 2014 by Pmatt (Talk | contribs) (Reconstructed Particles - Reaction-Independent (default tag) Factories)

Jump to: navigation, search

Generated Data

  • NOTE: These definitions are spread throughout sim-recon/src/libraries/
  • DMCThrown: The generated particles for the event.
  • DMCThrown, tag "Primary": The generated primary particles for the event. This excludes all decay products of known particles. For example, the decay products of π0's, Ξ-'s and ρ0's are excluded.
  • DMCThrown, tag "FinalState": The generated final-state particles for the event. This excludes decay products of other final-state particles (e.g. neutrinos from pion decay). Excludes π0's.
  • DMCThrown, tag "Decaying": The generated decaying particles for the event. Only includes particle types defined in sim-recon/src/libraries/include/particleType.h. Excludes final-state particles that decay. Includes π0's.
  • DBeamPhoton: The generated beam photon for the event.
  • DMCReaction: The generated reaction.
  • DMCTrigger: The generated trigger signal

Reconstructed Detector Data

  • NOTE: These definitions are spread throughout sim-recon/src/libraries/
  • DTaggerHit: These are currently unused by the analysis framework.
  • DSCHit: The raw detected SC hit.
  • DBCALShower: The reconstructed showers in the barrel calorimeter.
  • DFCALShower: The reconstructed showers in the forward calorimeter.
  • DTOFPoint: The reconstructed hit in the time-of-flight scintillators.
  • DTrackTimeBased: The particles reconstructed from time-based tracking. One DTrackTimeBased object is created per PID hypothesis (defaults are π+, K+, and p for positively charged tracks, and π-, K- for negatively charged tracks).
  • DDetectorMatches: Information about the matching between DTrackTimeBased objects and the various hit and shower objects.

Reconstructed Particles - Reaction-Independent (default tag) Factories

  • NOTE: These are located in sim-recon/src/libraries/PID/
  • NOTE: The default (non-tagged) factories for these objects create them in a reaction-independent manner. However, this includes the following problems, which are only truly solvable in a reaction-dependent analysis:
    • The event vertex is not known when creating the default DNeutralParticleHypothesis objects, so they are assumed to originate from the target center.
    • When select the DEventRFBunch (currently always t = 0), it is unknown which tracks are ghosts or accidentals, and the factory cannot always do a thorough job of identifying them. Therefore, the selected RF bunch is occasionally incorrect, resulting in incorrect PID FOM determinations for the DChargedTrackHypothesis and DNeutralParticleHypothesis objects.
  • DEventRFBunch: The RF bunch corresponding to the event. The time is reported at the center of the target. More details on RF bunch selection are located at: RF Beam Bunch Selection & PID Details
  • DChargedTrackHypothesis: Kinematic data for each DTrackTimeBased object (one per PID hypothesis, can be more than one per particle). When creating the DChargedTrackHypothesis objects, the best-matching-hit/shower objects for each track are selected, and the PID FOM is calculated. More details on Particle ID are located at: RF Beam Bunch Selection & PID Details
  • DChargedTrack: One for each reconstructed charged particle. Contains all of the DChargedTrackHypothesis objects for this particle.
  • DNeutralShower: One for each DBCALShower and DFCALShower object that is not matched to any of the DChargedTrackHypothesis objects.
  • DNeutralParticleHypothesis: Kinematic data for each DNeutralShower, one per PID: a photon and neutron. The particle vertex is assumed to be the center of the target.
  • DNeutralParticle: One for each reconstructed neutral shower. Contains all of the DNeutralParticleHypothesis objects for this particle.

Reconstructed Event STorage (REST)

  • REST files can be used to store the generated and reconstructed detector classes.

DEventWriterREST

  • Persistent object created by the DEventWriterREST factory.
  • DEventWriterREST::Write_RESTEvent(string) saves the event into the REST file specified by the string.
//e.g., in your plugin's ::evnt() method:
vector<const DEventWriterREST*> locEventWriterRESTVector;
locEventLoop->Get(locEventWriterRESTVector);
locEventWriterRESTVector[0]->Write_RESTEvent(locEventLoop, "b1pi"); //dana_rest_b1pi.hddm
  • Can write (skim) to many different files in the same plugin, even during multi-threaded execution.
//e.g., in your plugin's ::evnt() method:
if((locNumPositiveTracks >= 2) && (locNumNegativeTracks >= 2))
  locEventWriterRESTVector[0]->Write_RESTEvent(locEventLoop, "2+_2-");
 
if((locNumPositiveTracks >= 3) && (locNumNegativeTracks >= 2))
  locEventWriterRESTVector[0]->Write_RESTEvent(locEventLoop, "3+_2-");

danarest Plugin

  • sim-recon/src/programs/Utilities/plugins/danarest
  • Produces dana_rest.hddm, containing the generated and reconstructed detector data for every event.
hd_root hdgeant_smeared.hddm -PPLUGINS=danarest