13#include "TrkReco/TCircle.h"
14#include "TrkReco/TMDCWire.h"
15#include "TrkReco/TMDCWireHit.h"
16#include "TrkReco/TMDCWireHitMC.h"
17#include "TrkReco/TMLink.h"
20TCircle::_fitter =
TCircleFitter(
"TCircle Default Circle Fitter");
26 fitter(& TCircle::_fitter);
35 if (msg ==
"") def =
true;
37 if (def || msg.find(
"circle") != std::string::npos || msg.find(
"detail") != std::string::npos) {
39 std::cout <<
"#links=" <<
_links.length();
41 std::cout <<
",charge=" << _charge;
42 std::cout <<
",center=" << _center;
43 std::cout <<
",radius=" << _radius;
44 std::cout << std::endl << pre;
45 std::cout <<
"pt=" <<
pt();
46 std::cout <<
",impact=" <<
impact();
47 std::cout << std::endl;
50 std::cout <<
", not fitted yet" << std::endl;
118 for(
int i=0;i<6;i++){
127 if(maxLink != 1)
return 1.0;
128 if(layerID[0] == LayerID &&
129 layerID[1] == LayerID)
return 0.5;
130 if(layerID[0]+layerID[1] != LayerID*2)
return 1.0;
138 if (
n < 3)
return -1;
142 unsigned layerID =
_links[0]->hit()->wire()->layerId();
143 for(
unsigned i = 0; i <
n; i++){
144 if(layerID !=
_links[i]->hit()->wire()->layerId()){
149 if(ipConst != 0)flagIP = 1;
154 for (
unsigned i = 0; i <
n; i++) {
156 if (l == 0)
continue;
159 if (h == 0)
continue;
173 if(_circle.
fit()<0.0 || _circle.
kappa()==0.0)
return -1;
177 _radius = _circle.
radius();
181 for (
unsigned i = 0; i <
n; i++) {
183 if (l == 0)
continue;
186 if (h == 0)
continue;
189 if (
q > 0.) qSum += 1;
192 if (qSum >= 0) _charge = +1.;
****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
*********Class see also m_nmax DOUBLE PRECISION m_MasPhot DOUBLE PRECISION m_phsu DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_r2 DOUBLE PRECISION m_WtMass INTEGER m_nmax INTEGER m_Nevgen INTEGER m_IsFSR INTEGER m_MarTot *COMMON c_KarFin $ !Output file $ !Event serial number $ !alpha QED at Thomson limit $ !minimum energy at CMS for remooval $ !infrared dimensionless $ !dummy photon IR regulator $ !crude photon multiplicity enhancement factor *EVENT $ !MC crude volume of PhhSpace *Sfactors $ !YFS formfactor IR part only $ !YFS formfactor non IR finite part $ !mass weight
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
void add_point(double x, double y, double w=1)
A class to fit a TTrackBase object to a circle.
TCircle(const AList< TMLink > &links)
Constructor.
virtual ~TCircle()
Destructor.
void dump(const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
dumps debug information.
double weight(const TMLink &l) const
returns weight of TMLink in order to fit and make a circle.
double impact(void) const
returns impact parameter to the origin.
double pt(void) const
returns Pt.
int fitForCurl(int ipConst=0)
fits itself. Error was happened if return value is not zero.
const TMDCWire *const wire(void) const
returns a pointer to a TMDCWire.
const HepPoint3D & xyPosition(void) const
returns drift time
unsigned localId(void) const
returns local id in a wire layer.
unsigned layerId(void) const
returns layer id.
A class to relate TMDCWireHit and TTrack objects.
TMLink * neighbor(unsigned int) const
returns neighbor TMLink.
const TMDCWireHit * hit(void) const
returns a pointer to a hit.
A virtual class for a track class in tracking.
virtual void dump(const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
dumps debug information.
const TMFitter *const fitter(void) const
returns a pointer to a default fitter.