16 const int NTHits = iHits.size();
17 float_m active = mask;
20 vector<FTSCAHitV> thits( NTHits );
21 for (
unsigned short ihit = 0; ihit < NTHits; ihit++ ) {
22 TESV index = iHits[ihit];
23 if (!dir) index = iHits[NTHits-1-ihit];
26 foreach_bit(
unsigned short iV, active) {
27 hs[iV] = hits[index.
s[iV]][index.
e[iV]];
75 cout<<
"param.QP() "<<param.QP()<<endl;
100 for (
int ihit = NTHits-1; ihit >= 0; ihit-- )
103 active &= param.
Transport( hit, caParam, active );
104 active &= param.
Filter( hit, caParam, active );
176 float_m active1 = mask;
178 foreach_bit(
unsigned short iV, active1)
186 float_m active =
static_cast<float_m
> (maskvar!=0);
189 float_v qMom = float_v(10e10f);
194 active &=
FitIteration( caParam, hits, param, iHits, target, dir,
false, active );
202 #else // for Panda it is and slower, since doesn't use target z-coor?
203 active &=
FitIteration( caParam, hits, param, iHits, target, dir,
false, active );
204 while ( (++
i < 5) && ( abs( (param.
QMomentum() - qMom)/qMom ) > 0.005f ) ) {
206 active &=
FitIteration( caParam, hits, param, iHits, target, !dir,
true, active );
207 active &=
FitIteration( caParam, hits, param, iHits, target, dir,
true, active );
215 float_m active1 = mask;
217 foreach_bit(
unsigned short iV, active1)
225 float_m active =
static_cast<float_m
> (maskvar!=0);
226 active &=
FitIteration( caParam, hits, param, iHits, target, dir, usePar, active );
void SetAngle(const float_v &v)
float_m FitIteration(const PndCAParam &caParam, const PndCAHits &hits, PndCATrackParamVector ¶m, const vector< PndCATESV > &iHits, const PndCATarget &target, bool dir, bool useParam, const float_m &active=float_m(true))
float_m FitIteration(const PndFTSCAParam &caParam, const FTSCAHits &hits, PndFTSCATrackParamVector ¶m, const vector< TESV > &iHits, const FTSCATarget &target, bool dir, bool useParam, const float_m &active=float_m(true))
float_v QMomentum() const
float_m FitUseParam(const PndFTSCAParam &caParam, const FTSCAHits &hits, PndFTSCATrackParamVector ¶m, const vector< TESV > &iHits, const FTSCATarget &target, bool dir, bool usePar=false, const float_m &mask=float_m(true))
float_m Transport(const int_v &ista, const PndFTSCAParam ¶m, const float_m &mask=float_m(true))
void InitDirection(float_v r0, float_v r1, float_v r2)
float_m Fit(const PndFTSCAParam &caParam, const FTSCAHits &hits, PndFTSCATrackParamVector ¶m, const vector< TESV > &iHits, const FTSCATarget &target, bool dir, const float_m &active=float_m(true))
void SetQMomentum(const float_v &v)
void InitByTarget(const FTSCATarget &target)
float_m Filter(const FTSCAHitV &hit, const PndFTSCAParam ¶m, const float_m &mask=float_m(true), const float_v &chi2Cut=10e10f)