Difference between revisions of "Mattione Update 06202011"

From GlueXWiki
Jump to: navigation, search
(Classes)
(Classes)
Line 43: Line 43:
 
                                   /      |      \
 
                                   /      |      \
 
  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 >   Misc.    vector < vector < DVertex::track_info_t > >
 
               /                \                                /        |          \
 
               /                \                                /        |          \
         DBCALShower      DFCALShower                     tproj   DTrackTimeBased    FOM
+
         DBCALShower      DFCALShower               tprojected   DTrackTimeBased    FOM
  
 
* DVertex::shower_info_t is a class that inherits from DKinematicData
 
* DVertex::shower_info_t is a class that inherits from DKinematicData
Line 64: Line 65:
  
 
<pre>
 
<pre>
                                    DPhysicsEvent
+
                                            DPhysicsEvent
                                        |
+
                                                  |
                              vector < DParticleSet >
+
                                        vector < DParticleSet >
                                  /      |      \
+
                                          /      |      \
          vector < DNeutralTrack >    DVertex    vector < DChargedTrack >
+
                  vector < DNeutralTrack >    DVertex    vector < DChargedTrack >
                                    /         \
+
                                            /   |    \
            vector < DNeutralTrack >           vector < DChargedTrack >
+
                                            /    |    \
                        |                                     |
+
                    vector < DNeutralTrack >   Misc.    vector < DChargedTrack >
      vector < DNeutralTrackHypothesis >   vector < DChargedTrackHypothesis >
+
                              |                                       |
 +
          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.
 +
</pre>
  
* DVertex::shower_info_t is a class that inherits from DKinematicData and contains pointers to DBCALShower and DFCALShower objects
+
<pre>
*DVertex::track_info_t is a struct that contains a DTrackTimeBased object, along with the projected time at the vertex and the FOM
+
Notes:
 +
- In the proposed scheme DPhoton, DBCALPhoton, and DFCALPhoton would no longer be supported. 
 +
- One DNeutralTrackHypothesis would be generated for each combination of DVertex and mass hypothesis, each with a FOM.
 +
- The particle objects (DChargedTrack, DChargedTrackHypothesis, DNeutralTrack, and DNeutralTrackHypothesis) will store
 +
  the objects they are matched with (DBCALShower, DFCALShower, DTOFPoint, and DVertex) as associated objects. 
 
</pre>
 
</pre>

Revision as of 10:26, 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 >    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:
 - In the proposed scheme DPhoton, DBCALPhoton, and DFCALPhoton would no longer be supported.  
 - One DNeutralTrackHypothesis would be generated for each combination of DVertex and mass hypothesis, each with a FOM. 
 - The particle objects (DChargedTrack, DChargedTrackHypothesis, DNeutralTrack, and DNeutralTrackHypothesis) will store 
   the objects they are matched with (DBCALShower, DFCALShower, DTOFPoint, and DVertex) as associated objects.