GlueX Data Classes
From GlueXWiki
Revision as of 23:45, 13 September 2014 by Pmatt (Talk | contribs) (→Reconstructed Particles - Reaction-Independent (default tag) Factories)
Contents
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