Difference between revisions of "Mattione Update 06202011"

From GlueXWiki
Jump to: navigation, search
(Proposed Class Structure)
 
(10 intermediate revisions by the same user not shown)
Line 15: Line 15:
 
                               |-> π+ π-
 
                               |-> π+ π-
 
</pre>
 
</pre>
 +
== Invariant Masses ==
 +
* High mass tails due to incorrect photon reconstruction have been removed.  These tails were due to photons in the FCAL being reconstructed with vertex-z = 0, such that they had bogus momentum vectors.  This was fixed when Miha Kornicer recently updated the photon reconstruction code. 
  
=== b1pi Event Count ===
+
* Pi0 invariant mass:
<pre>
+
[[Image:Mattione_Update_06012011_InvMass_Pi0.gif|thumb|left|400px|pi0 06/01]]
# Generated events = 10000
+
[[Image:Mattione_Update_06202011_InvMass_Pi0.gif|thumb|left|400px|pi0 Current]]
 +
<br style="clear:both;"/>
  
# Events with 2+ photons = 9660
+
* X(2000) invariant mass:
# Events with 2+ &pi;+'s = 7642
+
[[Image:Mattione_Update_06012011_InvMass_X2000.gif|thumb|left|400px|X(2000) 06/01]]
# Events with 2+ &pi;-'s = 8156
+
[[Image:Mattione_Update_06202011_InvMass_X2000.gif|thumb|left|400px|X(2000) Current]]
# Events with 2+ protons = 1040 (should only be 1 !!)
+
<br style="clear:both;"/>
# Events with enough tracks for the X (2+ photons, 2+ &pi;+'s, 2+ &pi;-'s) = 6076
+
</pre>
+
  
== b1pi Invariant Masses ==
+
== Photons ==
[[Image:Mattione_Study_b1pi_InvMass_PiZero.gif|thumb|left|400px]]
+
[[Image:Mattione_Update_06012011_NumTracks_Photons.gif|thumb|left|400px]]
[[Image:Mattione_Study_b1pi_InvMass_RhoZero.gif|thumb|left|400px]]
+
<br style="clear:both;"/>
[[Image:Mattione_Study_b1pi_InvMass_Omega.gif|thumb|left|400px]]
+
[[Image:Mattione_Update_06012011_Photons_GenPVsTheta.gif|thumb|left|400px|generated, 06-12-2011]]
[[Image:Mattione_Study_b1pi_InvMass_B1Plus.gif|thumb|left|400px]]
+
[[Image:Mattione_Update_06012011_Photons_ReconPVsTheta.gif|thumb|left|400px|reconstructed 06-12-2011]]
[[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)
 

Latest revision as of 13:08, 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
                               |   |-> γ γ
                               |
                               |-> π+ π-

Invariant Masses

  • High mass tails due to incorrect photon reconstruction have been removed. These tails were due to photons in the FCAL being reconstructed with vertex-z = 0, such that they had bogus momentum vectors. This was fixed when Miha Kornicer recently updated the photon reconstruction code.
  • Pi0 invariant mass:
pi0 06/01
pi0 Current


  • X(2000) invariant mass:
X(2000) 06/01
X(2000) Current


Photons

Mattione Update 06012011 NumTracks Photons.gif


generated, 06-12-2011
reconstructed 06-12-2011