|
|
(9 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+ π+'s = 7642
| + | [[Image:Mattione_Update_06012011_InvMass_X2000.gif|thumb|left|400px|X(2000) 06/01]] |
− | # Events with 2+ π-'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+ π+'s, 2+ π-'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)
| |