ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitCommon/VertexFit/interface/MultiVertexFitter.h
(Generate patch)

Comparing UserCode/MitCommon/VertexFit/interface/MultiVertexFitter.h (file contents):
Revision 1.1 by loizides, Wed Sep 17 04:01:51 2008 UTC vs.
Revision 1.5 by loizides, Fri Mar 20 13:33:03 2009 UTC

# Line 96 | Line 96 | namespace mithep {
96    class MultiVertexFitter {
97  
98      public:
99 +
100        //--------------------------------------------------------------------------------------------
101        // Enumerations
102        //--------------------------------------------------------------------------------------------
103 <      enum vertexNumber { PRIMARY_VERTEX,VERTEX_1,VERTEX_2,VERTEX_3,VERTEX_4,VERTEX_5,VERTEX_6 };
103 >      enum vertexNumber { PRIMARY_VERTEX,VERTEX_1 };
104        enum vertexIndex  { X_INDEX=0, Y_INDEX, Z_INDEX, P1_INDEX, P2_INDEX };
105        enum trackIndex   { CURVATURE_INDEX=0, PHI_INDEX, COTTH_INDEX };
106  
# Line 235 | Line 236 | namespace mithep {
236        // return decay length
237        float            getDecayLength(vertexNumber nv, vertexNumber mv, const Hep3Vector& dir,
238                                        float& dlerr) const;
239 +      float            getDecayLength(vertexNumber nv, vertexNumber mv, const ThreeVector& dir,
240 +                                      float& dlerr) const;                                      
241 +      float            getZDecayLength(vertexNumber nv, vertexNumber mv,
242 +                                      const Hep3Vector& dir, float& dlerr) const;  
243 +      float            getZDecayLength(vertexNumber nv, vertexNumber mv,
244 +                                      const ThreeVector& dir, float& dlerr) const;                  
245 +      float            getImpactPar(vertexNumber prdV, vertexNumber dcyV,
246 +                                      const Hep3Vector &v, float &dxyerr) const;    
247 +      float            getImpactPar(vertexNumber prdV, vertexNumber dcyV,
248 +                                      const ThreeVector &v, float &dxyerr) const;                  
249        float            get_dr(vertexNumber nv, vertexNumber mv, float& drerr) const;
250        float            get_dz(vertexNumber nv, vertexNumber mv, float& dzerr) const;
251        // return location of vertex
# Line 257 | Line 268 | namespace mithep {
268        allocateVertexNumber();
269        void             resetAllocatedVertexNumber();
270  
271 <      // Accessors for getting information relative to ijk errors Get the error code from the three ijk
272 <      // indexes into the argument variables
271 >      // Accessors for getting information relative to ijk errors get the error code from the three
272 >      // ijk indexes into the argument variables
273        void             getIJKErr(int& err0, int& err1, int& err2) const;
274        // Return each error code from the three ijk indexes
275        int              getIJKErr0() const;
276        int              getIJKErr1() const;
277        int              getIJKErr2() const;
278  
279 <      // Get the track-id of the track causing a fatal error as indicated by the corresponding ijk error
279 >      // Get track-id of the track causing a fatal error as indicated by the corresponding ijk error
280        int              getErrTrackId() const;
281  
282        // Set new track reference point
# Line 277 | Line 288 | namespace mithep {
288        friend std::ostream& operator << (std::ostream& os, const MultiVertexFitter& vfit);
289  
290      protected:
291 <      std::string      _expert;                 // string: name and email of MultiVertexFitter expert
291 >      std::string      _expert;                 // string: name, email of MultiVertexFitter expert
292        int              _stat;                   // status returned from fit.
293  
294 <      static const int _maxvtx = CTVMFT_MAXVTX; //  6;  // Maximum number of vertices
295 <      static const int _maxmcn = CTVMFT_MAXMCN; //  4;  // Maximum number of mass constraints
296 <      static const int _maxtrk = CTVMFT_MAXTRK; // 50;  // Maximum number of tracks
297 <      static const int _maxitr = CTVMFT_MAXITR; // 10;  // Maximum number of iteration steps
294 >      static const int _maxvtx = CTVMFT_MAXVTX; // maximum number of vertices
295 >      static const int _maxmcn = CTVMFT_MAXMCN; // maximum number of mass constraints
296 >      static const int _maxtrk = CTVMFT_MAXTRK; // maximum number of tracks
297 >      static const int _maxitr = CTVMFT_MAXITR; // maximum number of iteration steps
298        static const int _maxdim = 5*(CTVMFT_MAXVTX+1)+3*CTVMFT_MAXTRK+CTVMFT_MAXMCN;
299  
300        // FIDDLE must have access to MultiVertexFitter's (other) protected data like _maxvtx, etc. It
# Line 395 | Line 406 | namespace mithep {
406        //--------------------------------------------------------------------------------------------
407        // Data members of class
408        //--------------------------------------------------------------------------------------------
409 <      double      _bField;                          // B field in Tesla
409 >      double      _bField;                        // B field in Tesla
410  
411 <      int         _currentAllocatedVertexNumber;  //index to enum vertexNumber
412 <      ThreeVector _referencePoint;                //reference point of track
413 <      Hep3Vector  _primaryVertex;                 //primary vertex relative to "referencePoint"
414 <      Hep3Vector  _cdfPrimaryVertex;              //primary vertex in CDF coordinate system
415 <      bool        _extrapolateTrackErrors;        //extrapolate track errors to point _referencePoint
411 >      int         _currentAllocatedVertexNumber;  // index to enum vertexNumber
412 >      ThreeVector _referencePoint;                // reference point of track
413 >      Hep3Vector  _primaryVertex;                 // primary vertex relative to _referencePoint
414 >      Hep3Vector  _cdfPrimaryVertex;              // primary vertex in CDF coordinate system
415 >      bool        _extrapolateTrackErrors;        // extrapolate track errors to _referencePoint
416    };
417   }
418  
# Line 414 | Line 425 | std::ostream& operator << (std::ostream&
425    vfit.print(os);
426    return    (os);
427   }
428 +
429 + //--------------------------------------------------------------------------------------------------
430   inline
431   void mithep::MultiVertexFitter::setExcuse()
432   {
433    _fiddle.excuse = 1;   // the default
434   }
435 +
436 + //--------------------------------------------------------------------------------------------------
437   inline
438   void mithep::MultiVertexFitter::setNoExcuse()
439   {
440    _fiddle.excuse = 0;   // crash on input error
441   }
442 +
443 + //--------------------------------------------------------------------------------------------------
444   inline
445   void mithep::MultiVertexFitter::setChisqMax(const float chisqmx)
446   {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines