Difference between revisions of "Mattione Update 06202011"

From GlueXWiki
Jump to: navigation, search
(Notes on the particle (DChargedTrack, etc.) classes)
Line 34: Line 34:
 
[[Image:Mattione_Study_b1pi_InvMass_X2000.gif|thumb|left|400px]]
 
[[Image:Mattione_Study_b1pi_InvMass_X2000.gif|thumb|left|400px]]
 
<br style="clear:both;"/>
 
<br style="clear:both;"/>
 
== Classes ==
 
=== Current Class Structure ===
 
<pre>
 
                                    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
 
</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).
 
 
=== Proposed Class Structure ===
 
 
<pre>
 
                                            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.
 
</pre>
 
 
==== 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)
 

Revision as of 10:58, 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