BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Reconstruction/MdcPatRec/MdcxReco/include/MdcxReco/MdcxFittedHel.h
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2// File and Version Information:
3// $Id: MdcxFittedHel.h,v 1.5 2010/09/26 00:31:13 zhangy Exp $
4//
5// Description:
6// Class Header for |MdcxFittedHel| - helix fitting class
7//
8// Environment:
9// Software developed for the BaBar Detector at the SLAC B-Factory.
10//
11// Author List:
12// S. Wagner
13//
14// Copyright Information:
15// Copyright (C) 1995 BEPCII
16//
17// History:
18// Migration for BESIII MDC
19//
20//------------------------------------------------------------------------
21#ifndef _MDCXFITTEDHEL_
22#define _MDCXFITTEDHEL_
23
24// MdcxHel & MdcxFittedHel classes ...
25#include "CLHEP/Alist/AList.h"
26#include "MdcxReco/MdcxHel.h"
27#include <fstream>
28#include <iostream>
29
30class MdcxHit;
31
32// MdcxFittedHel follows: (fitted helix class)
33class MdcxFittedHel : public MdcxHel {
34public:
35 // constructors
37
38 // hits+initial guess constructor
40
41 // destructor
42 virtual ~MdcxFittedHel();
43
44 // accessors
45 inline float Chisq() const { return chisq; }
46 inline float Rcs() const { return rcs; }
47 inline float Prob() const { return prob; }
48 inline float Fittime() const { return fittime; }
49 inline int Nhits() const { return nhits; }
50 inline int Itofit() const { return itofit; }
51 inline int Quality() const { return quality; }
52 inline int Origin() const { return origin; }
53 inline double Sfac() const { return sfac; }
54 inline void SetQuality( const int& q ) { quality = q; }
55 inline void SetUsedOnHel( const int& i ) { usedonhel = i; }
56 inline int GetUsedOnHel() const { return usedonhel; }
57 int SuperLayer( int hitno = 0 ) const; // return superlayer of |hitno
58 int Layer( int hitno = 0 ) const; // return layer number of |hitno|
59 inline const HepAList<MdcxHit>& XHitList() const { return xHitList; }
60
61 // workers
62 float Residual( int i );
63 float Pull( int i );
64 int Fail( float Probmin = 0.0 ) const;
65 int ReFit();
66 int FitPrint();
67 int FitPrint( MdcxHel& hel, std::ostream& o );
68 void VaryRes();
69
70 // operators
71 MdcxFittedHel& operator=( const MdcxHel& ); // copy helix to fitted helix
72 MdcxFittedHel& operator=( const MdcxFittedHel& ); // copy fitted helix to fitted helix
74
75 // workers
76
77protected:
78 // data
79 int fail; // fit failure codes
80 float chisq; // chisq of hit
81 float rcs; // chisq per dof
82 float prob; // chisq prob of hit
83 float fittime; // fit time in clock time (machine dep)
84 int nhits; // number of hits
85 int itofit; // number of iterations to convergence
86 int quality; // bigger quality=>great purity
87 int origin; // origin "hit", -1 if none
88 HepAList<MdcxHit> xHitList; // list-of-hits making this |MdcxFittedHel|
89 double sfac; // error scale factor for fit
90 int usedonhel;
91
92 // functions
93 // fitting routine
94 int DoFit();
96
97private:
98 // data
99
100 // control
101 void basics();
102 void basics( const HepAList<MdcxHit>& );
103
104 // check for included origin, if there move to end of |xHitList|
105 //-1=>no origin; >=0 is hit number of origin
106 int OriginIncluded(); // origin included
107
108 // static control parameters
109 int bailout; // bailout if chisq/ndof too big?
110 float chidofbail; // bailout cutoff
111 int niter; // max number of iterations
112 // static control sets
113public:
114 static int debug;
115 inline void SetBailOut( int i ) { bailout = i; }
116 inline void SetChiDofBail( float r ) { chidofbail = r; }
117 inline void SetNiter( int i ) { niter = i; }
118
119}; // endof MdcxFittedHel
120
121#endif
****INTEGER imax DOUBLE PRECISION m_pi *DOUBLE PRECISION m_amfin DOUBLE PRECISION m_Chfin DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_sinw2 DOUBLE PRECISION m_GFermi DOUBLE PRECISION m_MfinMin DOUBLE PRECISION m_ta2 INTEGER m_out INTEGER m_KeyFSR INTEGER m_KeyQCD *COMMON c_Semalib $ !copy of input $ !CMS energy $ !beam mass $ !final mass $ !beam charge $ !final charge $ !smallest final mass $ !Z mass $ !Z width $ !EW mixing angle $ !Gmu Fermi $ alphaQED at q
Definition KKsem.h:33
int Layer(int hitno=0) const
MdcxFittedHel(HepAList< MdcxHit > &XHitList, MdcxHel &hel, double Sfac=1.0)
float Residual(int i)
int FitPrint(MdcxHel &hel, std::ostream &o)
int SuperLayer(int hitno=0) const
MdcxFittedHel & operator=(const MdcxHel &)
MdcxFittedHel & operator=(const MdcxFittedHel &)
int Fail(float Probmin=0.0) const
virtual ~MdcxFittedHel()
float Pull(int i)
MdcxFittedHel & Grow(const MdcxFittedHel &, const HepAList< MdcxHit > &)
MdcxHel()
Definition MdcxHel.cxx:32