Difference between revisions of "Analysis DParticleCombo"

From GlueXWiki
Jump to: navigation, search
(Source Code)
Line 5: Line 5:
 
* '''DParticleCombo''': Contains a possible combination of <span style="color:#0000FF">DParticleComboStep</span> objects for a reaction, along with a pointers to the corresponding <span style="color:#0000FF">DReaction</span> and (optional) <span style="color:#0000FF">DKinFitResults</span>.  
 
* '''DParticleCombo''': Contains a possible combination of <span style="color:#0000FF">DParticleComboStep</span> objects for a reaction, along with a pointers to the corresponding <span style="color:#0000FF">DReaction</span> and (optional) <span style="color:#0000FF">DKinFitResults</span>.  
 
** <span style="color:#0000FF">DParticleCombo</span> nearly mirrors <span style="color:#0000FF">DReaction</span>, containing <span style="color:#0000FF">DParticleComboStep</span> objects instead of <span style="color:#0000FF">DReactionStep</span> objects, but in the same order.  
 
** <span style="color:#0000FF">DParticleCombo</span> nearly mirrors <span style="color:#0000FF">DReaction</span>, containing <span style="color:#0000FF">DParticleComboStep</span> objects instead of <span style="color:#0000FF">DReactionStep</span> objects, but in the same order.  
 +
 +
== Generation ==
 +
* Any detected +/-/neutral particle can be any of the desired +/-/neutral particles in the <span style="color:#0000FF">DReaction</span>: find all possible combinations.
 +
** This is regardless of PID: PID cuts are not applied by default: they must be enabled/performed by the user.
 +
** Note: If a <span style="color:#0000FF">DChargedTrack</span> has hypotheses with different charges, tested as both + and -.
 +
*** This can happen if the track reconstruction flips the sign of one of the hypotheses, but not the others.
  
 
== Particles ==
 
== Particles ==

Revision as of 16:03, 18 February 2013

Summary

  • Located in sim-recon/src/libraries/ANALYSIS/
  • DParticleComboStep: Contains a possible combination of particles for an interaction or decay step in a reaction.
    • DParticleComboStep nearly mirrors DReactionStep, containing particles instead of particle types, but in the same order.
  • DParticleCombo: Contains a possible combination of DParticleComboStep objects for a reaction, along with a pointers to the corresponding DReaction and (optional) DKinFitResults.
    • DParticleCombo nearly mirrors DReaction, containing DParticleComboStep objects instead of DReactionStep objects, but in the same order.

Generation

  • Any detected +/-/neutral particle can be any of the desired +/-/neutral particles in the DReaction: find all possible combinations.
    • This is regardless of PID: PID cuts are not applied by default: they must be enabled/performed by the user.
    • Note: If a DChargedTrack has hypotheses with different charges, tested as both + and -.
      • This can happen if the track reconstruction flips the sign of one of the hypotheses, but not the others.

Particles

  • Particle data is contained in either DChargedTrackHypothesis, DNeutralParticleHypothesis, DBeamPhoton, or DKinematicData (for reconstructed missing or decaying particles) objects.
    • However, all of these objects are stored in DParticleComboStep as pointers to DKinematicData. If you want the DBeamPhoton, etc. objects, you need to cast them back that type.
  • Both the measured data and the kinematic fit data are accessible from these classes.
    • In DParticleCombo objects grabbed from the default (no tag) factory, the kinematic data is stored in the "default" members (dFinalParticles and dInitialParticle) and the measured data is stored in the "measured" members (dFinalParticles_Measured and dInitialParticle_Measured).
    • In DParticleCombo objects grabbed from the "PreKinFit" tag factory, the measured data is stored in the both the "default" and the "measured" members.
    • To access these particles, call DParticleComboStep functions such as: Get_InitialParticle(size_t), Get_InitialParticle_Measured(size_t), Get_FinalParticle(size_t), Get_FinalParticle_Measured(size_t)
  • The source objects (DChargedTrack and DNeutralShower) are accessible by calling DParticleComboStep::Get_FinalParticle_SourceObject(size_t).
    • These objects are returned as type const JObject*, and may be cast to either DChargedTrack or DNeutralShower as appropriate.
  • Particles that are missing or are decaying may have NULL pointers stored for the objects.
    • The source and measured pointers will be NULL, and the "default" pointers will be NULL unless they are constrained by the kinematic fit (e.g. resonances are not constrained, but a Λ or a missing recoil proton will be).