Difference between revisions of "Mattione Update 06202011"

From GlueXWiki
Jump to: navigation, search
(Classes)
(Classes)
Line 40: Line 40:
 
                                     DPhysicsEvent
 
                                     DPhysicsEvent
 
                                         |
 
                                         |
                                    DParticleSet  
+
                              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 >    DVertex    vector < vector < DVertex::track_info_t > > (one for each charged particle id)
 
                                     /        \
 
                                     /        \
 
   vector < DVertex::shower_info_t >          vector < vector < DVertex::track_info_t > >
 
   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 and contains pointers to DBCALShower and DFCALShower objects
+
* DVertex::shower_info_t is a class that inherits from DKinematicData
* DVertex::track_info_t is a struct that contains a DTrackTimeBased object, along with the projected time at the vertex and the FOM
+
* DVertex::track_info_t is a struct
  * This vector is 2D: for each DTrackCandidate there are multiple  
+
* vector < vector < DVertex::track_info_t > > : for each DTrackCandidate there are multiple fit hypotheses, corresponding to different particle masses
 +
</pre>
 +
 
 +
<pre>
 +
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).
 
</pre>
 
</pre>
  
Line 56: Line 66:
 
                                     DPhysicsEvent
 
                                     DPhysicsEvent
 
                                         |
 
                                         |
                                    DParticleSet  
+
                              vector < DParticleSet >
 
                                   /      |      \
 
                                   /      |      \
 
           vector < DNeutralTrack >    DVertex    vector < DChargedTrack >
 
           vector < DNeutralTrack >    DVertex    vector < DChargedTrack >
 
                                     /        \
 
                                     /        \
 
             vector < DNeutralTrack >          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::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
 
*DVertex::track_info_t is a struct that contains a DTrackTimeBased object, along with the projected time at the vertex and the FOM
 
</pre>
 
</pre>

Revision as of 09:57, 20 June 2011

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