30#ifdef TRKRECO_DEBUG_DETAIL
31 std::cout <<
name() <<
"(stereo) ... dump of stereo candidate hits" << std::endl;
35 for (
unsigned i = 0; i < tmp.length(); i++ )
41 std::cout << std::endl;
47#ifdef TRKRECO_DEBUG_DETAIL
48 std::cout <<
name() <<
"(stereo) ... rejected by nLinks(";
49 std::cout << list.length() <<
") < ";
56 unsigned n = list.length();
58 for (
unsigned i = 0; i <
n; i++ )
81#ifdef TRKRECO_DEBUG_DETAIL
82 std::cout <<
name() <<
"(stereo) ... dump of sz links" << std::endl;
86 for (
unsigned i = 0; i < tmp.length(); i++ )
92 std::cout << std::endl;
98#ifdef TRKRECO_DEBUG_DETAIL
99 std::cout <<
name() <<
"(stereo) ... rejected by sz nLinks(";
100 std::cout << forLine.length() <<
") < ";
103 HepAListDeleteAll( forLine );
108 unsigned nLine = forLine.length();
110 int err = line.
fit();
115#ifdef TRKRECO_DEBUG_DETAIL
116 std::cout <<
name() <<
"(stereo) ... linear fit failure. nLinks(";
117 std::cout << forLine.length() <<
")" << std::endl;
119 HepAListDeleteAll( forLine );
123#ifdef TRKRECO_DEBUG_DETAIL
124 std::cout <<
name() <<
"(stereo) ... dump of left-right" << std::endl;
129 for (
unsigned i = 0; i < nLine; i++ )
150 if ( ( tl == NULL ) && (
tr == NULL ) )
continue;
153 if ( tl == NULL ) best =
tr;
154 else if (
tr == NULL ) best = tl;
169#ifdef TRKRECO_DEBUG_DETAIL
171 std::cout <<
t->wire()->layerId() <<
"-";
172 std::cout <<
t->wire()->localId();
173 if ( tl != NULL ) std::cout <<
",left " << tl->
position() <<
"," << line.
distance( *tl );
174 if (
tr != NULL ) std::cout <<
",right " <<
tr->position() <<
"," << line.
distance( *
tr );
175 std::cout << std::endl;
178 best->
link(
t->link() );
179 forNewLine.append( best );
185#ifdef TRKRECO_DEBUG_DETAIL
186 std::cout <<
name() <<
"(stereo) ... rejected by lr nLinks(";
187 std::cout << forNewLine.length() <<
") < ";
190 HepAListDeleteAll( forLine );
191 HepAListDeleteAll( forNewLine );
196#ifdef TRKRECO_DEBUG_DETAIL
197 std::cout <<
name() <<
"(stereo) ... creating a new line" << std::endl;
199 unsigned nNewLine = forNewLine.length();
200 TLine0 newLine( forNewLine );
208#ifdef TRKRECO_DEBUG_DETAIL
209 std::cout <<
name() <<
"(stereo) ... 2nd linear fit failure. nLinks(";
210 std::cout << forNewLine.length() <<
")" << std::endl;
212 HepAListDeleteAll( forLine );
213 HepAListDeleteAll( forNewLine );
229 HepAListDeleteAll( forLine );
230 HepAListDeleteAll( forNewLine );
231#ifdef TRKRECO_DEBUG_DETAIL
232 std::cout <<
" appendStereo cut ... new line 2nd linear fit failure. ";
233 std::cout <<
"# of links = " <<
n <<
"," << nLine;
234 std::cout <<
"," << nNewLine << std::endl;
241 unsigned nn = good.length();
242 for (
unsigned i = 0; i < nn; i++ ) { track.
append( *good[i]->link() ); }
246 a[4] = track.
charge() * newLine.
a();
247 track._helix->
a( a );
253 err = _fitter.fit( *Ltrack );
255 err = _fitter.fit( *Ltrack );
257 err = _fitter.fit( *Ltrack );
260 err = _fitter.fit( *Ltrack );
271 HepAListDeleteAll( forLine );
272 HepAListDeleteAll( forNewLine );
277 track._helix->
a( a1 );
283 err = _fitter.
fit( track );
285 err = _fitter.fit( track );
287 err = _fitter.fit( track );
290 err = _fitter.fit( track );
294 HepAListDeleteAll( forLine );
295 HepAListDeleteAll( forNewLine );
300 HepAListDeleteAll( forLine );
301 HepAListDeleteAll( forNewLine );