ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitEdm/VertexFitInterface/interface/MvfInterface.h
Revision: 1.2
Committed: Thu Jul 31 19:20:11 2008 UTC (16 years, 9 months ago) by bendavid
Content type: text/plain
Branch: MAIN
CVS Tags: MITHEP_2_0_x
Changes since 1.1: +1 -1 lines
Log Message:
Fixed track parameter and covariance matrix transformation

File Contents

# User Rev Content
1 paus 1.1 //==================================================================================================
2     // MvfInterface class header file
3     //
4     // Author: Christoph Paus, MIT
5     // Description: Provide a CMS specific interface for the generic MultiVertexFitter.
6     // Date: Jul 18, 2008
7     //==================================================================================================
8     #ifndef MVFINTERFACE_H
9     #define MVFINTERFACE_H
10    
11     #include "DataFormats/TrackReco/interface/Track.h"
12     #include "MitVertex/Fit/interface/MultiVertexFitter.h"
13    
14     namespace mitedm
15     {
16     // Declare the class
17     class MvfInterface {
18     // ---------------------------------------------------------------------------------------------
19     // CMS parameter ordering for the vector/matrix, which is assumed here:
20     //
21 bendavid 1.2 // qoverp, lambda = pi/2 - theta, phi0, dxy, dsz;
22 paus 1.1 // mapping to CDF is therefore { 1, 0*, 4, 3, 2 }, where * indicates that a transformation is
23     // needed
24     //
25     // Note that the radius of curvature (in cm) is then:
26     //
27     // Rc = cos(theta) / [ 0.0029979.... * (q/p) * B ],
28     //
29     // where B is the magnetic field in Tesla and tht is the angle between the field and the
30     // direction. With p * cos(theta) = pT it follows:
31     //
32     // Rc = pT / [ 0.0029979.... * q * B ],
33     // fullCurvature = 1 / Rc = 0.0029979 * q * B / pT = - 0.0029979 * B / pT.
34     //
35     // see the conventions for the MultiVertexFitter in its own header file.
36     // ---------------------------------------------------------------------------------------------
37    
38     public:
39     // ---------------------------------------------------------------------------------------------
40     // *structors
41     // ---------------------------------------------------------------------------------------------
42     MvfInterface(MultiVertexFitter *fitter);
43     ~MvfInterface() {}
44    
45     // ---------------------------------------------------------------------------------------------
46     // Fundamental funtions
47     // ---------------------------------------------------------------------------------------------
48     bool addTrack(const reco::Track* trk, const int id, const float mass,
49     MultiVertexFitter::vertexNumber jv);
50    
51     // ---------------------------------------------------------------------------------------------
52     // Accessors
53     // ---------------------------------------------------------------------------------------------
54     MultiVertexFitter *fitter() { return _mvf; }
55    
56     private:
57     // ---------------------------------------------------------------------------------------------
58     // Data members of class
59     // ---------------------------------------------------------------------------------------------
60     MultiVertexFitter *_mvf;
61     double _fCurv0;
62     double _fCurv;
63     };
64     }
65     #endif