Mattione Update 06202011
From GlueXWiki
Revision as of 10:38, 20 June 2011 by Pmatt (Talk | contribs) (→Notes on the particle (DChargedTrack, etc.) classes)
Contents
b1pi Overview
- Generated 10000 X(2000) -> b1π-; events following the instructions here.
- Decay chain:
gamma p -> p X(2000)0 | |-> b1(1235)+ π- | |-> ω π+ | |-> ρ0 π0 | |-> γ γ | |-> π+ π-
b1pi Event Count
# Generated events = 10000 # Events with 2+ photons = 9660 # Events with 2+ π+'s = 7642 # Events with 2+ π-'s = 8156 # Events with 2+ protons = 1040 (should only be 1 !!) # Events with enough tracks for the X (2+ photons, 2+ π+'s, 2+ π-'s) = 6076
b1pi Invariant Masses
Classes
Current Class Structure
DPhysicsEvent | vector < DParticleSet > / | \ vector < DVertex::shower_info_t > DVertex vector < vector < DVertex::track_info_t > > (one for each charged particle id) / | \ / | \ vector < DVertex::shower_info_t > Misc. vector < vector < DVertex::track_info_t > > / \ / | \ DBCALShower DFCALShower tprojected DTrackTimeBased FOM * DVertex::shower_info_t is a class that inherits from DKinematicData * DVertex::track_info_t is a struct * vector < vector < DVertex::track_info_t > > : for each DTrackCandidate there are multiple fit hypotheses, corresponding to different particle masses
- Problems:
- Storing final track information in DVertex subclasses is non-intuitive (especially the 2D track_info_t vector).
- DVertex::track_info_t does not inherit from JObject: cannot add associated objects (DTOFPoint, etc.)
- Cannot call JEventLoop->Get(DVertex::track_info_t) (No factories for the particles)
- All neutral particles are assumed to be photons (could be neutrons, such as from Lambda decay).
Proposed Class Structure
DPhysicsEvent | vector < DParticleSet > / | \ vector < DNeutralTrack > DVertex vector < DChargedTrack > / | \ / | \ vector < DNeutralTrack > Misc. vector < DChargedTrack > | | vector < DNeutralTrackHypothesis > vector < DChargedTrackHypothesis > / | \ / | \ FOM, tprojected, DKinematicData, Particle_t FOM, tprojected, DTrackTimeBased, Particle_t * Particle_t is an enum defined in libraries/include/particleType.h that is used to store the particle id (values = Proton, PiPlus, etc.) * It uses the GEANT particle ID scheme.
Notes on the particle (DChargedTrack, etc.) classes
- Particle construction (creating the DChargedTrack, etc. objects) is still performed by the DVertex factory.
- The particle objects (DChargedTrack, DChargedTrackHypothesis, DNeutralTrack, and DNeutralTrackHypothesis) will each have a factory so that they can be grabbed via JEventLoop->Get().
- These factories would essentially call JEventLoop->Get(vector<const DVertex*>) to construct the particles, then return only the desired objects.
- The particle objects (DChargedTrack, DChargedTrackHypothesis, DNeutralTrack, and DNeutralTrackHypothesis) will store the objects they are matched with (DBCALShower, DFCALShower, DTOFPoint, and DVertex) as associated objects.
- One DNeutralTrackHypothesis would be generated for each combination of DVertex and mass hypothesis, each with a FOM.
Other Notes
- In the proposed scheme DPhoton, DBCALPhoton, and DFCALPhoton would no longer be supported.
- Would need to update associated programs (hdview2, ...?)
- Simulations of the fractional energy deposited by neutrons in the calorimeters are needed to implement neutron energy reconstruction and identification.
- In the meantime, neutron ID would be effectively disabled (FOM forced to zero)