BOSS 7.0.1
BESIII Offline Software System
Loading...
Searching...
No Matches
Reconstruction/MdcPatRec/MdcxReco/MdcxReco-00-01-59/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 <iostream>
26#include <fstream>
27#include "MdcxReco/MdcxHel.h"
28#include "CLHEP/Alist/AList.h"
29
30class MdcxHit;
31
32//MdcxFittedHel follows: (fitted helix class)
33class MdcxFittedHel:public MdcxHel{
34 public:
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
77 protected:
78
79 //data
80 int fail; //fit failure codes
81 float chisq; //chisq of hit
82 float rcs; //chisq per dof
83 float prob; //chisq prob of hit
84 float fittime; //fit time in clock time (machine dep)
85 int nhits; //number of hits
86 int itofit; //number of iterations to convergence
87 int quality; // bigger quality=>great purity
88 int origin; // origin "hit", -1 if none
89 HepAList<MdcxHit> xHitList; // list-of-hits making this |MdcxFittedHel|
90 double sfac; // error scale factor for fit
91 int usedonhel;
92
93 //functions
94 //fitting routine
95 int DoFit();
97
98 private:
99
100 //data
101
102 //control
103 void basics();
104 void basics(const HepAList<MdcxHit> &);
105
106 //check for included origin, if there move to end of |xHitList|
107 //-1=>no origin; >=0 is hit number of origin
108 int OriginIncluded(); // origin included
109
110 //static control parameters
111 int bailout; // bailout if chisq/ndof too big?
112 float chidofbail; // bailout cutoff
113 int niter; // max number of iterations
114 //static control sets
115 public:
116 static int debug;
117 inline void SetBailOut(int i) {bailout=i;}
118 inline void SetChiDofBail(float r) {chidofbail=r;}
119 inline void SetNiter(int i) {niter=i;}
120
121};// endof MdcxFittedHel
122
123#endif
124
****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)
const HepAList< MdcxHit > & XHitList() const
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 > &)