rave is hosted by Hepforge, IPPP Durham
close Warning: Can't synchronize with repository "(default)" (/hepforge/svn/rave does not appear to be a Subversion repository.). Look in the Trac log for more information.

Changes between Version 10 and Version 11 of RaveKinematics


Ignore:
Timestamp:
Jan 29, 2008, 12:32:09 PM (17 years ago)
Author:
fmos
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RaveKinematics

    v10 v11  
    111111== Converting the input ==
    112112
    113 The kinematic fit makes heavy use of the !KinematicParticle class. It is used as an input as well as an output data class. Strictly spoken, the input data accepted by the kinematic fitting algorithms must be converted to !TransientTrackKinematicParticle classes. This class can be created from !Track objects by providing an additional mass hypothesis or from !Vector7D and !Covariance7D objects by providing additional charge and fit information. The two basic constructors are
     113The kinematic fit makes heavy use of the !KinematicParticle class. It is used as an input as well as an output data class. Strictly spoken, the input data accepted by the kinematic fitting algorithms must be converted to !TransientTrackKinematicParticle classes. This class can be created from Track objects by providing an additional mass hypothesis or from Vector7D and Covariance7D objects by providing additional charge and fit information. The two basic constructors are
    114114
    115115{{{
     
    157157 * Momentum
    158158 * Pointing
    159  * Simple pointing
    160  * Smart pointing
    161  * Two-track Mass
     159 * Simple-Pointing
     160 * Smart-Pointing
     161 * Two-Track-Mass
    162162 * Vertex
    163163 * (Multiple)
     
    165165Constraints are represented by instances of the !KinematicConstraint class. They cannot be created freely, but only by using the !KinematicConstraintBuilder. This builder offers a creation method for each type of constraint. The signatures of those methods can be found in the Doxygen documentation shipping with Rave.
    166166
    167 As is visible from these signatures, the !MultipleKinematicConstraint has a special role copared to the other constraints.
     167As is visible from these signatures, the !MultipleKinematicConstraint has a special role compared to the other constraints. It allows to apply multiple constraints at the same time. This is done by creating a !MultipleKinematicConstraint and binding other constraints to it by calling its addConstraint method with the newly created constraint as an argument.
     168
     169== Fitting ==
     170
     171The kinematic fitting with Rave is done by the !KinematicTreeFactory class. It provides two types of fitting methods which take different types of parameters.
     172
     173 * useVertexFitter
     174 * useParticleFitter
     175
     176The vertex fitter takes the input particles to be fitted to a vertex together with an optional constraint and returns a !KinematicTree (which will be described in the next chapter). On the other hand the particle fitter takes a !KinematicTree together with an additional constraint. The only way to get the input !KinematicTree for use with the particle fitter is by invocation of the vertex fitter.
     177
     178Apart from that obvious difference, also the set of constraints accepted by each fitter differs. The vertex fitter only accepts either the  Two-Track-Mass- or the Vertex constraint. The particle fitter accepts one of the remaining constraints (Back-to-Back, Four-Momentum, Mass, Momentum, Pointing, Simple-Pointing, Smart-Pointing or Multiple).
     179
     180== Interpreting the results ==
     181
     182The fitter always returns a !KinematicTree, which will be invalid if the fit wasn't successfull. The validity can be tested by calling the isValid method.