4#include "MdcTrkRecon/MdcTrackListCsmc.h"
7#include "MdcData/MdcHitOnTrack.h"
8#include "MdcRawEvent/MdcDigi.h"
9#include "MdcTrkRecon/MdcTrack.h"
10#include "MdcTrkRecon/MdcSegGrouperSt.h"
11#include "MdcTrkRecon/MdcSegList.h"
12#include "MdcTrkRecon/MdcSegGrouperCsmc.h"
13#include "TrkBase/TrkHitList.h"
14#include "TrkBase/TrkExchangePar.h"
15#include "TrkBase/TrkRecoTrk.h"
16#include "TrkBase/TrkFit.h"
17#include "TrkBase/TrkExchangePar.h"
18#include "TrkBase/TrkExchangePar.h"
19#include "TrkBase/TrkErrCode.h"
20#include "TrkFitter/TrkLineMaker.h"
23#include "AIDA/IHistogram1D.h"
64 seed = segs->
getSeed(0,goodOnly);
65 if (seed == 0 && goodOnly == 1) {
70 else if (seed == 0 && goodOnly == 0) {
75 int success = straightSegs.
combineSegs(trialTrack, seed,
90 success = stereoSegs.
combineSegs(trialTrack, 0, context, t0,
248 double chisqperDOF = 0.;
250 int nDOF = tkFit->
nActive() - nParamFit;
251 if (nDOF > nParamFit)
252 chisqperDOF = tkFit->
chisq() / nDOF;
254 chisqperDOF = tkFit->
chisq();
259 if (goodMatch) success = 1;
void fillWithSegs(const MdcSegList *inSegs)
void fillWithSegs(const MdcSegList *inSegs, const MdcTrack *axialTrack)
int combineSegs(MdcTrack *&, MdcSeg *seed, TrkContext &, double trackT0, double maxSegChisqO, int combineByFitHits=0)
MdcSeg * getSeed(int iview, int goodOnly)
void resetSeed(const MdcDetector *gm)
MdcTrackListCsmc(const MdcTrackParams &tkPar)
int createFromSegs(MdcSegList *segs, const MdcHitMap *, const MdcDetector *, TrkContext &, double trackT0)
int finish3d(TrkRecoTrk &trk)
virtual double chisq() const =0
virtual int nActive() const =0
const TrkFit * fitResult() const
virtual void printAll(std::ostream &) const
bool setFlipAndDrop(TrkRecoTrk &, bool allowFlips, bool allowDrops) const
virtual void changeFit(TrkRecoTrk &theTrack) const