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.
- Timestamp:
-
Jan 29, 2008, 12:32:09 PM (17 years ago)
- Author:
-
fmos
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v10
|
v11
|
|
111 | 111 | == Converting the input == |
112 | 112 | |
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 |
| 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 |
114 | 114 | |
115 | 115 | {{{ |
… |
… |
|
157 | 157 | * Momentum |
158 | 158 | * Pointing |
159 | | * Simple pointing |
160 | | * Smart pointing |
161 | | * Two-track Mass |
| 159 | * Simple-Pointing |
| 160 | * Smart-Pointing |
| 161 | * Two-Track-Mass |
162 | 162 | * Vertex |
163 | 163 | * (Multiple) |
… |
… |
|
165 | 165 | Constraints 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. |
166 | 166 | |
167 | | As is visible from these signatures, the !MultipleKinematicConstraint has a special role copared to the other constraints. |
| 167 | As 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 | |
| 171 | The 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 | |
| 176 | The 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 | |
| 178 | Apart 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 | |
| 182 | The 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. |