Mattione Update 06202011

From GlueXWiki
Revision as of 09:57, 20 June 2011 by Pmatt (Talk | contribs) (Classes)

Jump to: navigation, search

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

Mattione Study b1pi InvMass PiZero.gif
Mattione Study b1pi InvMass RhoZero.gif
Mattione Study b1pi InvMass Omega.gif
Mattione Study b1pi InvMass B1Plus.gif
Mattione Study b1pi InvMass X2000.gif


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 >           vector < vector < DVertex::track_info_t > >
              /                \                                /         |           \
         DBCALShower       DFCALShower                     tproj    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 >           vector < DChargedTrack >
                        |                                      |
       vector < DNeutralTrackHypothesis >    vector < DChargedTrackHypothesis >


* DVertex::shower_info_t is a class that inherits from DKinematicData and contains pointers to DBCALShower and DFCALShower objects
*DVertex::track_info_t is a struct that contains a DTrackTimeBased object, along with the projected time at the vertex and the FOM