29 TNamed ( name,name ), fFast ( kFALSE )
31 fOwnList =
new TObjArray ( capacity );
43 for (
int i=0;
i<
n;
i++ ) {
69 cerr <<
"RhoCandList::SetNumberOfTracks is deprecated. n="<<n << endl;
83 ( *fOwnList ) [
i] = newCand;
89 fOwnList->AddAtAndExpand ( ( TObject* ) c,i );
122 if(!aFit) Error(
"RhoCandList::FillFittedList",
"Fit pointer does not exist!");
123 fittedlist.
Put(aFit);
135 for ( Int_t
i=0;
i<
n;
i++ ) {
150 for ( Int_t
i=0;
i<
n;
i++ ) {
165 for ( Int_t
i=0;
i<n-1;
i++ ) {
167 if ( b==0 ) {
continue; }
168 for ( Int_t j=
i+1; j<
n; ++j ) {
170 if ( c==0 ) {
continue; }
185 for ( Int_t
i=0;
i<
n;
i++ ) {
187 if ( b->
Equals ( c ) ) { nCand++; }
196 for ( Int_t
i=0;
i<
n;
i++ ) {
199 if ( energy > emin ) { e +=
energy; }
206 TVector3
p ( 0.0,0.0,0.0 );
208 for ( Int_t
i=0;
i<
n;
i++ ) {
210 TVector3 p3 = c->
P3();
211 if ( p3.Mag() > pmin ) { p = p + p3; }
219 for ( Int_t
i=0;
i<
n;
i++ ) {
227 o <<
"content: " << n <<
" entries." << endl;
229 for ( Int_t
i=0;
i<
n;
i++ ) {
231 o <<
"[" <<
i <<
"] " << *
c;
240 for (
int i=0;
i<
n;
i++ ) {
254 for (
int i=0;
i<
n;
i++ ) {
266 if (start<0) start=0;
274 if (start<0) start=0;
282 if (start<0) start=0;
356 for ( i1=0; i1<len1; i1++ ) {
358 if ( &l1==&l2 ) { st2=i1+1; }
360 for ( i2=st2; i2<len2; i2++ ) {
361 if ( l1[i1]->Overlaps ( l2[i2] ) ) {
continue; }
363 vl=l1[i1]->P4() +l2[i2]->P4();
364 charge=l1[i1]->Charge() +l2[i2]->Charge();
367 c.
SetCovP4 ( l1[i1]->P4Cov() +l2[i2]->P4Cov() );
377 c.
SetMarker ( l1[i1]->GetMarker ( 0 ) |l2[i2]->GetMarker ( 0 ),0 );
378 c.
SetMarker ( l1[i1]->GetMarker ( 1 ) |l2[i2]->GetMarker ( 1 ),1 );
379 c.
SetMarker ( l1[i1]->GetMarker ( 2 ) |l2[i2]->GetMarker ( 2 ),2 );
380 c.
SetMarker ( l1[i1]->GetMarker ( 3 ) |l2[i2]->GetMarker ( 3 ),3 );
382 c.SetInsertHistory(kFALSE);
383 if(l1[i1]->GetPointerToLinks() != 0) c.AddLinks(*l1[i1]->GetPointerToLinks());
384 if(l2[i2]->GetPointerToLinks() != 0) c.AddLinks(*l2[i2]->GetPointerToLinks());
408 for ( i1=0; i1<len1; i1++ ) {
410 if ( &l2==&l1 ) { st2=i1+1; }
412 for ( i2=st2; i2<len2; i2++ ) {
413 if ( l1[i1]->Overlaps ( l2[i2] ) ) {
continue; }
416 if ( &l3==&l2 ) { st3=i2+1; }
417 else if ( &l3==&l1 ) { st3=i1+1; }
419 for ( i3=st3; i3<len3; i3++ ) {
420 if ( l3[i3]->Overlaps ( l2[i2] )
421 || l3[i3]->Overlaps ( l1[i1] ) ) {
continue; }
423 vl=l1[i1]->P4() +l2[i2]->P4() +l3[i3]->P4();
424 charge=l1[i1]->Charge() +l2[i2]->Charge() +l3[i3]->Charge();
427 c.
SetCovP4 ( l1[i1]->P4Cov() +l2[i2]->P4Cov() +l3[i3]->P4Cov() );
429 c.
SetMarker ( l1[i1]->GetMarker ( 0 ) |l2[i2]->GetMarker ( 0 ) |l3[i3]->GetMarker ( 0 ),0 );
430 c.
SetMarker ( l1[i1]->GetMarker ( 1 ) |l2[i2]->GetMarker ( 1 ) |l3[i3]->GetMarker ( 1 ),1 );
431 c.
SetMarker ( l1[i1]->GetMarker ( 2 ) |l2[i2]->GetMarker ( 2 ) |l3[i3]->GetMarker ( 2 ),2 );
432 c.
SetMarker ( l1[i1]->GetMarker ( 3 ) |l2[i2]->GetMarker ( 3 ) |l3[i3]->GetMarker ( 3 ),3 );
434 c.SetInsertHistory(kFALSE);
435 if(l1[i1]->GetPointerToLinks() != 0) c.AddLinks(*l1[i1]->GetPointerToLinks());
436 if(l2[i2]->GetPointerToLinks() != 0) c.AddLinks(*l2[i2]->GetPointerToLinks());
437 if(l3[i3]->GetPointerToLinks() != 0) c.AddLinks(*l3[i3]->GetPointerToLinks());
463 for ( i1=0; i1<len1; i1++ ) {
465 if ( &l2==&l1 ) { st2=i1+1; }
467 for ( i2=st2; i2<len2; i2++ ) {
468 if ( l1[i1]->Overlaps ( l2[i2] ) ) {
continue; }
471 if ( &l3==&l2 ) { st3=i2+1; }
472 else if ( &l3==&l1 ) { st3=i1+1; }
474 for ( i3=st3; i3<len3; i3++ ) {
475 if ( l3[i3]->Overlaps ( l2[i2] )
476 || l3[i3]->Overlaps ( l1[i1] ) ) {
continue; }
479 if ( &l4==&l3 ) { st4=i3+1; }
480 else if ( &l4==&l2 ) { st4=i2+1; }
481 else if ( &l4==&l1 ) { st4=i1+1; }
483 for ( i4=st4; i4<len4; i4++ ) {
484 if ( l4[i4]->Overlaps ( l3[i3] )
485 || l4[i4]->Overlaps ( l2[i2] )
486 || l4[i4]->Overlaps ( l1[i1] ) ) {
continue; }
488 vl=l1[i1]->P4() +l2[i2]->P4() +l3[i3]->P4() +l4[i4]->P4();
489 charge=l1[i1]->Charge() +l2[i2]->Charge() +l3[i3]->Charge() +l4[i4]->Charge();
492 c.
SetCovP4 ( l1[i1]->P4Cov() +l2[i2]->P4Cov() +l3[i3]->P4Cov() +l4[i4]->P4Cov() );
494 c.
SetMarker ( l1[i1]->GetMarker ( 0 ) |l2[i2]->GetMarker ( 0 ) |l3[i3]->GetMarker ( 0 ) |l4[i4]->GetMarker ( 0 ),0 );
495 c.
SetMarker ( l1[i1]->GetMarker ( 1 ) |l2[i2]->GetMarker ( 1 ) |l3[i3]->GetMarker ( 1 ) |l4[i4]->GetMarker ( 1 ),1 );
496 c.
SetMarker ( l1[i1]->GetMarker ( 2 ) |l2[i2]->GetMarker ( 2 ) |l3[i3]->GetMarker ( 2 ) |l4[i4]->GetMarker ( 2 ),2 );
497 c.
SetMarker ( l1[i1]->GetMarker ( 3 ) |l2[i2]->GetMarker ( 3 ) |l3[i3]->GetMarker ( 3 ) |l4[i4]->GetMarker ( 3 ),3 );
499 c.SetInsertHistory(kFALSE);
500 if(l1[i1]->GetPointerToLinks() != 0) c.AddLinks(*l1[i1]->GetPointerToLinks());
501 if(l2[i2]->GetPointerToLinks() != 0) c.AddLinks(*l2[i2]->GetPointerToLinks());
502 if(l3[i3]->GetPointerToLinks() != 0) c.AddLinks(*l3[i3]->GetPointerToLinks());
503 if(l4[i4]->GetPointerToLinks() != 0) c.AddLinks(*l4[i4]->GetPointerToLinks());
532 for ( i1=0; i1<len1; i1++ ) {
534 if ( &l2==&l1 ) { st2=i1+1; }
536 for ( i2=st2; i2<len2; i2++ ) {
537 if ( l1[i1]->Overlaps ( l2[i2] ) ) {
continue; }
540 if ( &l3==&l2 ) { st3=i2+1; }
541 else if ( &l3==&l1 ) { st3=i1+1; }
543 for ( i3=st3; i3<len3; i3++ ) {
544 if ( l3[i3]->Overlaps ( l2[i2] )
545 || l3[i3]->Overlaps ( l1[i1] ) ) {
continue; }
548 if ( &l4==&l3 ) { st4=i3+1; }
549 else if ( &l4==&l2 ) { st4=i2+1; }
550 else if ( &l4==&l1 ) { st4=i1+1; }
552 for ( i4=st4; i4<len4; i4++ ) {
553 if ( l4[i4]->Overlaps ( l3[i3] )
554 || l4[i4]->Overlaps ( l2[i2] )
555 || l4[i4]->Overlaps ( l1[i1] ) ) {
continue; }
558 if ( &l5==&l4 ) { st5=i4+1; }
559 else if ( &l5==&l3 ) { st5=i3+1; }
560 else if ( &l5==&l2 ) { st5=i2+1; }
561 else if ( &l5==&l1 ) { st5=i1+1; }
563 for ( i5=st5; i5<len5; i5++ ) {
564 if ( l5[i5]->Overlaps ( l4[i4] )
565 || l5[i5]->Overlaps ( l3[i3] )
566 || l5[i5]->Overlaps ( l2[i2] )
567 || l5[i5]->Overlaps ( l1[i1] ) ) {
continue; }
569 vl=l1[i1]->P4() +l2[i2]->P4() +l3[i3]->P4() +l4[i4]->P4() +l5[i5]->P4();
570 charge=l1[i1]->Charge() +l2[i2]->Charge() +l3[i3]->Charge() +l4[i4]->Charge() +l5[i5]->Charge() ;
573 c.
SetCovP4 ( l1[i1]->P4Cov() +l2[i2]->P4Cov() +l3[i3]->P4Cov() +l4[i4]->P4Cov() +l5[i5]->P4Cov() );
575 c.
SetMarker ( l1[i1]->GetMarker ( 0 ) |l2[i2]->GetMarker ( 0 ) |l3[i3]->GetMarker ( 0 ) |l4[i4]->GetMarker ( 0 ) |l5[i5]->GetMarker ( 0 ) ,0 );
576 c.
SetMarker ( l1[i1]->GetMarker ( 1 ) |l2[i2]->GetMarker ( 1 ) |l3[i3]->GetMarker ( 1 ) |l4[i4]->GetMarker ( 1 ) |l5[i5]->GetMarker ( 1 ) ,1 );
577 c.
SetMarker ( l1[i1]->GetMarker ( 2 ) |l2[i2]->GetMarker ( 2 ) |l3[i3]->GetMarker ( 2 ) |l4[i4]->GetMarker ( 2 ) |l5[i5]->GetMarker ( 2 ) ,2 );
578 c.
SetMarker ( l1[i1]->GetMarker ( 3 ) |l2[i2]->GetMarker ( 3 ) |l3[i3]->GetMarker ( 3 ) |l4[i4]->GetMarker ( 3 ) |l5[i5]->GetMarker ( 3 ) ,3 );
580 c.SetInsertHistory(kFALSE);
581 if(l1[i1]->GetPointerToLinks() != 0) c.AddLinks(*l1[i1]->GetPointerToLinks());
582 if(l2[i2]->GetPointerToLinks() != 0) c.AddLinks(*l2[i2]->GetPointerToLinks());
583 if(l3[i3]->GetPointerToLinks() != 0) c.AddLinks(*l3[i3]->GetPointerToLinks());
584 if(l4[i4]->GetPointerToLinks() != 0) c.AddLinks(*l4[i4]->GetPointerToLinks());
585 if(l5[i5]->GetPointerToLinks() != 0) c.AddLinks(*l5[i5]->GetPointerToLinks());
616 int i1,i2,i3,i4,i5,i6;
617 int st2,st3,st4,st5,st6;
619 for ( i1=0; i1<len1; i1++ ) {
621 if ( &l2==&l1 ) { st2=i1+1; }
623 for ( i2=st2; i2<len2; i2++ ) {
624 if ( l1[i1]->Overlaps ( l2[i2] ) ) {
continue; }
627 if ( &l3==&l2 ) { st3=i2+1; }
628 else if ( &l3==&l1 ) { st3=i1+1; }
630 for ( i3=st3; i3<len3; i3++ ) {
631 if ( l3[i3]->Overlaps ( l2[i2] )
632 || l3[i3]->Overlaps ( l1[i1] ) ) {
continue; }
635 if ( &l4==&l3 ) { st4=i3+1; }
636 else if ( &l4==&l2 ) { st4=i2+1; }
637 else if ( &l4==&l1 ) { st4=i1+1; }
639 for ( i4=st4; i4<len4; i4++ ) {
640 if ( l4[i4]->Overlaps ( l3[i3] )
641 || l4[i4]->Overlaps ( l2[i2] )
642 || l4[i4]->Overlaps ( l1[i1] ) ) {
continue; }
645 if ( &l5==&l4 ) { st5=i4+1; }
646 else if ( &l5==&l3 ) { st5=i3+1; }
647 else if ( &l5==&l2 ) { st5=i2+1; }
648 else if ( &l5==&l1 ) { st5=i1+1; }
650 for ( i5=st5; i5<len5; i5++ ) {
651 if ( l5[i5]->Overlaps ( l4[i4] )
652 || l5[i5]->Overlaps ( l3[i3] )
653 || l5[i5]->Overlaps ( l2[i2] )
654 || l5[i5]->Overlaps ( l1[i1] ) ) {
continue; }
657 if ( &l6==&l5 ) { st6=i5+1; }
658 else if ( &l6==&l4 ) { st6=i4+1; }
659 else if ( &l6==&l3 ) { st6=i3+1; }
660 else if ( &l6==&l2 ) { st6=i2+1; }
661 else if ( &l6==&l1 ) { st6=i1+1; }
662 for ( i6=st6; i6<len6; i6++ ) {
663 if (l6[i6]->Overlaps ( l5[i5] )
664 || l6[i6]->Overlaps ( l4[i4] )
665 || l6[i6]->Overlaps ( l3[i3] )
666 || l6[i6]->Overlaps ( l2[i2] )
667 || l6[i6]->Overlaps ( l1[i1] ) ) {
continue; }
669 vl=l1[i1]->P4() +l2[i2]->P4() +l3[i3]->P4() +l4[i4]->P4() +l5[i5]->P4() +l6[i6]->P4();
670 charge=l1[i1]->Charge() +l2[i2]->Charge() +l3[i3]->Charge() +l4[i4]->Charge() +l5[i5]->Charge() +l6[i6]->Charge();
673 c.
SetCovP4 ( l1[i1]->P4Cov() +l2[i2]->P4Cov() +l3[i3]->P4Cov() +l4[i4]->P4Cov() +l5[i5]->P4Cov() +l6[i6]->P4Cov() );
675 c.
SetMarker ( l1[i1]->GetMarker ( 0 ) |l2[i2]->GetMarker ( 0 ) |l3[i3]->GetMarker ( 0 ) |l4[i4]->GetMarker ( 0 ) |l5[i5]->GetMarker ( 0 ) |l6[i6]->GetMarker ( 0 ) ,0 );
676 c.
SetMarker ( l1[i1]->GetMarker ( 1 ) |l2[i2]->GetMarker ( 1 ) |l3[i3]->GetMarker ( 1 ) |l4[i4]->GetMarker ( 1 ) |l5[i5]->GetMarker ( 1 ) |l6[i6]->GetMarker ( 1 ) ,1 );
677 c.
SetMarker ( l1[i1]->GetMarker ( 2 ) |l2[i2]->GetMarker ( 2 ) |l3[i3]->GetMarker ( 2 ) |l4[i4]->GetMarker ( 2 ) |l5[i5]->GetMarker ( 2 ) |l6[i6]->GetMarker ( 2 ) ,2 );
678 c.
SetMarker ( l1[i1]->GetMarker ( 3 ) |l2[i2]->GetMarker ( 3 ) |l3[i3]->GetMarker ( 3 ) |l4[i4]->GetMarker ( 3 ) |l5[i5]->GetMarker ( 3 ) |l6[i6]->GetMarker ( 3 ) ,3 );
680 c.SetInsertHistory(kFALSE);
681 if(l1[i1]->GetPointerToLinks() != 0) c.AddLinks(*l1[i1]->GetPointerToLinks());
682 if(l2[i2]->GetPointerToLinks() != 0) c.AddLinks(*l2[i2]->GetPointerToLinks());
683 if(l3[i3]->GetPointerToLinks() != 0) c.AddLinks(*l3[i3]->GetPointerToLinks());
684 if(l4[i4]->GetPointerToLinks() != 0) c.AddLinks(*l4[i4]->GetPointerToLinks());
685 if(l5[i5]->GetPointerToLinks() != 0) c.AddLinks(*l5[i5]->GetPointerToLinks());
686 if(l6[i6]->GetPointerToLinks() != 0) c.AddLinks(*l6[i6]->GetPointerToLinks());
720 int i1,i2,i3,i4,i5,i6,i7;
721 int st2,st3,st4,st5,st6,st7;
723 for ( i1=0; i1<len1; i1++ ) {
725 if ( &l2==&l1 ) { st2=i1+1; }
727 for ( i2=st2; i2<len2; i2++ ) {
728 if ( l1[i1]->Overlaps ( l2[i2] ) ) {
continue; }
731 if ( &l3==&l2 ) { st3=i2+1; }
732 else if ( &l3==&l1 ) { st3=i1+1; }
734 for ( i3=st3; i3<len3; i3++ ) {
735 if ( l3[i3]->Overlaps ( l2[i2] )
736 || l3[i3]->Overlaps ( l1[i1] ) ) {
continue; }
739 if ( &l4==&l3 ) { st4=i3+1; }
740 else if ( &l4==&l2 ) { st4=i2+1; }
741 else if ( &l4==&l1 ) { st4=i1+1; }
743 for ( i4=st4; i4<len4; i4++ ) {
744 if ( l4[i4]->Overlaps ( l3[i3] )
745 || l4[i4]->Overlaps ( l2[i2] )
746 || l4[i4]->Overlaps ( l1[i1] ) ) {
continue; }
749 if ( &l5==&l4 ) { st5=i4+1; }
750 else if ( &l5==&l3 ) { st5=i3+1; }
751 else if ( &l5==&l2 ) { st5=i2+1; }
752 else if ( &l5==&l1 ) { st5=i1+1; }
754 for ( i5=st5; i5<len5; i5++ ) {
755 if ( l5[i5]->Overlaps ( l4[i4] )
756 || l5[i5]->Overlaps ( l3[i3] )
757 || l5[i5]->Overlaps ( l2[i2] )
758 || l5[i5]->Overlaps ( l1[i1] ) ) {
continue; }
761 if ( &l6==&l5 ) { st6=i5+1; }
762 else if ( &l6==&l4 ) { st6=i4+1; }
763 else if ( &l6==&l3 ) { st6=i3+1; }
764 else if ( &l6==&l2 ) { st6=i2+1; }
765 else if ( &l6==&l1 ) { st6=i1+1; }
766 for ( i6=st6; i6<len6; i6++ ) {
767 if (l6[i6]->Overlaps ( l5[i5] )
768 || l6[i6]->Overlaps ( l4[i4] )
769 || l6[i6]->Overlaps ( l3[i3] )
770 || l6[i6]->Overlaps ( l2[i2] )
771 || l6[i6]->Overlaps ( l1[i1] ) ) {
continue; }
774 if ( &l7==&l6 ) { st7=i6+1; }
775 else if ( &l7==&l5 ) { st7=i5+1; }
776 else if ( &l7==&l4 ) { st7=i4+1; }
777 else if ( &l7==&l3 ) { st7=i3+1; }
778 else if ( &l7==&l2 ) { st7=i2+1; }
779 else if ( &l7==&l1 ) { st7=i1+1; }
780 for ( i7=st7; i7<len7; i7++ ) {
781 if (l7[i7]->Overlaps ( l6[i6] )
782 || l7[i7]->Overlaps ( l5[i5] )
783 || l7[i7]->Overlaps ( l4[i4] )
784 || l7[i7]->Overlaps ( l3[i3] )
785 || l7[i7]->Overlaps ( l2[i2] )
786 || l7[i7]->Overlaps ( l1[i1] ) ) {
continue; }
788 vl=l1[i1]->P4() +l2[i2]->P4() +l3[i3]->P4() +l4[i4]->P4() +l5[i5]->P4() +l6[i6]->P4() +l7[i7]->P4();
789 charge=l1[i1]->Charge() +l2[i2]->Charge() +l3[i3]->Charge() +l4[i4]->Charge() +l5[i5]->Charge() +l6[i6]->Charge() +l7[i7]->Charge();
792 c.
SetCovP4 ( l1[i1]->P4Cov() +l2[i2]->P4Cov() +l3[i3]->P4Cov() +l4[i4]->P4Cov() +l5[i5]->P4Cov() +l6[i6]->P4Cov() +l7[i7]->P4Cov());
794 c.
SetMarker ( l1[i1]->GetMarker ( 0 ) |l2[i2]->GetMarker ( 0 ) |l3[i3]->GetMarker ( 0 ) |l4[i4]->GetMarker ( 0 ) |l5[i5]->GetMarker ( 0 ) |l6[i6]->GetMarker ( 0 ) |l7[i7]->GetMarker ( 0 ),0 );
795 c.
SetMarker ( l1[i1]->GetMarker ( 1 ) |l2[i2]->GetMarker ( 1 ) |l3[i3]->GetMarker ( 1 ) |l4[i4]->GetMarker ( 1 ) |l5[i5]->GetMarker ( 1 ) |l6[i6]->GetMarker ( 1 ) |l7[i7]->GetMarker ( 1 ),1 );
796 c.
SetMarker ( l1[i1]->GetMarker ( 2 ) |l2[i2]->GetMarker ( 2 ) |l3[i3]->GetMarker ( 2 ) |l4[i4]->GetMarker ( 2 ) |l5[i5]->GetMarker ( 2 ) |l6[i6]->GetMarker ( 2 ) |l7[i7]->GetMarker ( 2 ),2 );
797 c.
SetMarker ( l1[i1]->GetMarker ( 3 ) |l2[i2]->GetMarker ( 3 ) |l3[i3]->GetMarker ( 3 ) |l4[i4]->GetMarker ( 3 ) |l5[i5]->GetMarker ( 3 ) |l6[i6]->GetMarker ( 3 ) |l7[i7]->GetMarker ( 3 ),3 );
799 c.SetInsertHistory(kFALSE);
800 if(l1[i1]->GetPointerToLinks() != 0) c.AddLinks(*l1[i1]->GetPointerToLinks());
801 if(l2[i2]->GetPointerToLinks() != 0) c.AddLinks(*l2[i2]->GetPointerToLinks());
802 if(l3[i3]->GetPointerToLinks() != 0) c.AddLinks(*l3[i3]->GetPointerToLinks());
803 if(l4[i4]->GetPointerToLinks() != 0) c.AddLinks(*l4[i4]->GetPointerToLinks());
804 if(l5[i5]->GetPointerToLinks() != 0) c.AddLinks(*l5[i5]->GetPointerToLinks());
805 if(l6[i6]->GetPointerToLinks() != 0) c.AddLinks(*l6[i6]->GetPointerToLinks());
806 if(l7[i7]->GetPointerToLinks() != 0) c.AddLinks(*l7[i7]->GetPointerToLinks());
843 int i1,i2,i3,i4,i5,i6,i7,i8;
844 int st2,st3,st4,st5,st6,st7,st8;
846 for ( i1=0; i1<len1; i1++ ) {
848 if ( &l2==&l1 ) { st2=i1+1; }
850 for ( i2=st2; i2<len2; i2++ ) {
851 if ( l1[i1]->Overlaps ( l2[i2] ) ) {
continue; }
854 if ( &l3==&l2 ) { st3=i2+1; }
855 else if ( &l3==&l1 ) { st3=i1+1; }
857 for ( i3=st3; i3<len3; i3++ ) {
858 if ( l3[i3]->Overlaps ( l2[i2] )
859 || l3[i3]->Overlaps ( l1[i1] ) ) {
continue; }
862 if ( &l4==&l3 ) { st4=i3+1; }
863 else if ( &l4==&l2 ) { st4=i2+1; }
864 else if ( &l4==&l1 ) { st4=i1+1; }
866 for ( i4=st4; i4<len4; i4++ ) {
867 if ( l4[i4]->Overlaps ( l3[i3] )
868 || l4[i4]->Overlaps ( l2[i2] )
869 || l4[i4]->Overlaps ( l1[i1] ) ) {
continue; }
872 if ( &l5==&l4 ) { st5=i4+1; }
873 else if ( &l5==&l3 ) { st5=i3+1; }
874 else if ( &l5==&l2 ) { st5=i2+1; }
875 else if ( &l5==&l1 ) { st5=i1+1; }
877 for ( i5=st5; i5<len5; i5++ ) {
878 if ( l5[i5]->Overlaps ( l4[i4] )
879 || l5[i5]->Overlaps ( l3[i3] )
880 || l5[i5]->Overlaps ( l2[i2] )
881 || l5[i5]->Overlaps ( l1[i1] ) ) {
continue; }
884 if ( &l6==&l5 ) { st6=i5+1; }
885 else if ( &l6==&l4 ) { st6=i4+1; }
886 else if ( &l6==&l3 ) { st6=i3+1; }
887 else if ( &l6==&l2 ) { st6=i2+1; }
888 else if ( &l6==&l1 ) { st6=i1+1; }
889 for ( i6=st6; i6<len6; i6++ ) {
890 if (l6[i6]->Overlaps ( l5[i5] )
891 || l6[i6]->Overlaps ( l4[i4] )
892 || l6[i6]->Overlaps ( l3[i3] )
893 || l6[i6]->Overlaps ( l2[i2] )
894 || l6[i6]->Overlaps ( l1[i1] ) ) {
continue; }
897 if ( &l7==&l6 ) { st7=i6+1; }
898 else if ( &l7==&l5 ) { st7=i5+1; }
899 else if ( &l7==&l4 ) { st7=i4+1; }
900 else if ( &l7==&l3 ) { st7=i3+1; }
901 else if ( &l7==&l2 ) { st7=i2+1; }
902 else if ( &l7==&l1 ) { st7=i1+1; }
903 for ( i7=st7; i7<len7; i7++ ) {
904 if (l7[i7]->Overlaps ( l6[i6] )
905 || l7[i7]->Overlaps ( l5[i5] )
906 || l7[i7]->Overlaps ( l4[i4] )
907 || l7[i7]->Overlaps ( l3[i3] )
908 || l7[i7]->Overlaps ( l2[i2] )
909 || l7[i7]->Overlaps ( l1[i1] ) ) {
continue; }
912 if ( &l8==&l7 ) { st8=i7+1; }
913 else if ( &l8==&l6 ) { st8=i6+1; }
914 else if ( &l8==&l5 ) { st8=i5+1; }
915 else if ( &l8==&l4 ) { st8=i4+1; }
916 else if ( &l8==&l3 ) { st8=i3+1; }
917 else if ( &l8==&l2 ) { st8=i2+1; }
918 else if ( &l8==&l1 ) { st8=i1+1; }
919 for ( i8=st8; i8<len8; i8++ ) {
920 if (l8[i8]->Overlaps ( l7[i7] )
921 || l8[i8]->Overlaps ( l6[i6] )
922 || l8[i8]->Overlaps ( l5[i5] )
923 || l8[i8]->Overlaps ( l4[i4] )
924 || l8[i8]->Overlaps ( l3[i3] )
925 || l8[i8]->Overlaps ( l2[i2] )
926 || l8[i8]->Overlaps ( l1[i1] ) ) {
continue; }
928 vl=l1[i1]->P4() +l2[i2]->P4() +l3[i3]->P4() +l4[i4]->P4() +l5[i5]->P4() +l6[i6]->P4() +l7[i7]->P4() +l8[i8]->P4();
929 charge=l1[i1]->Charge() +l2[i2]->Charge() +l3[i3]->Charge() +l4[i4]->Charge() +l5[i5]->Charge() +l6[i6]->Charge() +l7[i7]->Charge() +l8[i8]->Charge();
932 c.
SetCovP4 ( l1[i1]->P4Cov() +l2[i2]->P4Cov() +l3[i3]->P4Cov() +l4[i4]->P4Cov() +l5[i5]->P4Cov() +l6[i6]->P4Cov() +l7[i7]->P4Cov() +l8[i8]->P4Cov() );
934 c.
SetMarker ( l1[i1]->GetMarker ( 0 ) |l2[i2]->GetMarker ( 0 ) |l3[i3]->GetMarker ( 0 ) |l4[i4]->GetMarker ( 0 ) |l5[i5]->GetMarker ( 0 ) |l6[i6]->GetMarker ( 0 ) |l7[i7]->GetMarker ( 0 ) |l8[i8]->GetMarker ( 0 ),0 );
935 c.
SetMarker ( l1[i1]->GetMarker ( 1 ) |l2[i2]->GetMarker ( 1 ) |l3[i3]->GetMarker ( 1 ) |l4[i4]->GetMarker ( 1 ) |l5[i5]->GetMarker ( 1 ) |l6[i6]->GetMarker ( 1 ) |l7[i7]->GetMarker ( 1 ) |l8[i8]->GetMarker ( 1 ),1 );
936 c.
SetMarker ( l1[i1]->GetMarker ( 2 ) |l2[i2]->GetMarker ( 2 ) |l3[i3]->GetMarker ( 2 ) |l4[i4]->GetMarker ( 2 ) |l5[i5]->GetMarker ( 2 ) |l6[i6]->GetMarker ( 2 ) |l7[i7]->GetMarker ( 2 ) |l8[i8]->GetMarker ( 2 ),2 );
937 c.
SetMarker ( l1[i1]->GetMarker ( 3 ) |l2[i2]->GetMarker ( 3 ) |l3[i3]->GetMarker ( 3 ) |l4[i4]->GetMarker ( 3 ) |l5[i5]->GetMarker ( 3 ) |l6[i6]->GetMarker ( 3 ) |l7[i7]->GetMarker ( 3 ) |l8[i8]->GetMarker ( 3 ),3 );
939 c.SetInsertHistory(kFALSE);
940 if(l1[i1]->GetPointerToLinks() != 0) c.AddLinks(*l1[i1]->GetPointerToLinks());
941 if(l2[i2]->GetPointerToLinks() != 0) c.AddLinks(*l2[i2]->GetPointerToLinks());
942 if(l3[i3]->GetPointerToLinks() != 0) c.AddLinks(*l3[i3]->GetPointerToLinks());
943 if(l4[i4]->GetPointerToLinks() != 0) c.AddLinks(*l4[i4]->GetPointerToLinks());
944 if(l5[i5]->GetPointerToLinks() != 0) c.AddLinks(*l5[i5]->GetPointerToLinks());
945 if(l6[i6]->GetPointerToLinks() != 0) c.AddLinks(*l6[i6]->GetPointerToLinks());
946 if(l7[i7]->GetPointerToLinks() != 0) c.AddLinks(*l7[i7]->GetPointerToLinks());
947 if(l8[i8]->GetPointerToLinks() != 0) c.AddLinks(*l8[i8]->GetPointerToLinks());
987 int i1,i2,i3,i4,i5,i6,i7,i8,i9;
988 int st2,st3,st4,st5,st6,st7,st8,st9;
990 for ( i1=0; i1<len1; i1++ ) {
992 if ( &l2==&l1 ) { st2=i1+1; }
994 for ( i2=st2; i2<len2; i2++ ) {
995 if ( l1[i1]->Overlaps ( l2[i2] ) ) {
continue; }
998 if ( &l3==&l2 ) { st3=i2+1; }
999 else if ( &l3==&l1 ) { st3=i1+1; }
1001 for ( i3=st3; i3<len3; i3++ ) {
1002 if ( l3[i3]->Overlaps ( l2[i2] )
1003 || l3[i3]->Overlaps ( l1[i1] ) ) {
continue; }
1006 if ( &l4==&l3 ) { st4=i3+1; }
1007 else if ( &l4==&l2 ) { st4=i2+1; }
1008 else if ( &l4==&l1 ) { st4=i1+1; }
1010 for ( i4=st4; i4<len4; i4++ ) {
1011 if ( l4[i4]->Overlaps ( l3[i3] )
1012 || l4[i4]->Overlaps ( l2[i2] )
1013 || l4[i4]->Overlaps ( l1[i1] ) ) {
continue; }
1016 if ( &l5==&l4 ) { st5=i4+1; }
1017 else if ( &l5==&l3 ) { st5=i3+1; }
1018 else if ( &l5==&l2 ) { st5=i2+1; }
1019 else if ( &l5==&l1 ) { st5=i1+1; }
1021 for ( i5=st5; i5<len5; i5++ ) {
1022 if ( l5[i5]->Overlaps ( l4[i4] )
1023 || l5[i5]->Overlaps ( l3[i3] )
1024 || l5[i5]->Overlaps ( l2[i2] )
1025 || l5[i5]->Overlaps ( l1[i1] ) ) {
continue; }
1028 if ( &l6==&l5 ) { st6=i5+1; }
1029 else if ( &l6==&l4 ) { st6=i4+1; }
1030 else if ( &l6==&l3 ) { st6=i3+1; }
1031 else if ( &l6==&l2 ) { st6=i2+1; }
1032 else if ( &l6==&l1 ) { st6=i1+1; }
1033 for ( i6=st6; i6<len6; i6++ ) {
1034 if (l6[i6]->Overlaps ( l5[i5] )
1035 || l6[i6]->Overlaps ( l4[i4] )
1036 || l6[i6]->Overlaps ( l3[i3] )
1037 || l6[i6]->Overlaps ( l2[i2] )
1038 || l6[i6]->Overlaps ( l1[i1] ) ) {
continue; }
1041 if ( &l7==&l6 ) { st7=i6+1; }
1042 else if ( &l7==&l5 ) { st7=i5+1; }
1043 else if ( &l7==&l4 ) { st7=i4+1; }
1044 else if ( &l7==&l3 ) { st7=i3+1; }
1045 else if ( &l7==&l2 ) { st7=i2+1; }
1046 else if ( &l7==&l1 ) { st7=i1+1; }
1047 for ( i7=st7; i7<len7; i7++ ) {
1048 if (l7[i7]->Overlaps ( l6[i6] )
1049 || l7[i7]->Overlaps ( l5[i5] )
1050 || l7[i7]->Overlaps ( l4[i4] )
1051 || l7[i7]->Overlaps ( l3[i3] )
1052 || l7[i7]->Overlaps ( l2[i2] )
1053 || l7[i7]->Overlaps ( l1[i1] ) ) {
continue; }
1056 if ( &l8==&l7 ) { st8=i7+1; }
1057 else if ( &l8==&l6 ) { st8=i6+1; }
1058 else if ( &l8==&l5 ) { st8=i5+1; }
1059 else if ( &l8==&l4 ) { st8=i4+1; }
1060 else if ( &l8==&l3 ) { st8=i3+1; }
1061 else if ( &l8==&l2 ) { st8=i2+1; }
1062 else if ( &l8==&l1 ) { st8=i1+1; }
1063 for ( i8=st8; i8<len8; i8++ ) {
1064 if (l8[i8]->Overlaps ( l7[i7] )
1065 || l8[i8]->Overlaps ( l6[i6] )
1066 || l8[i8]->Overlaps ( l5[i5] )
1067 || l8[i8]->Overlaps ( l4[i4] )
1068 || l8[i8]->Overlaps ( l3[i3] )
1069 || l8[i8]->Overlaps ( l2[i2] )
1070 || l8[i8]->Overlaps ( l1[i1] ) ) {
continue; }
1073 if ( &l9==&l8 ) { st9=i8+1; }
1074 else if ( &l9==&l7 ) { st9=i7+1; }
1075 else if ( &l9==&l6 ) { st9=i6+1; }
1076 else if ( &l9==&l5 ) { st9=i5+1; }
1077 else if ( &l9==&l4 ) { st9=i4+1; }
1078 else if ( &l9==&l3 ) { st9=i3+1; }
1079 else if ( &l9==&l2 ) { st9=i2+1; }
1080 else if ( &l9==&l1 ) { st9=i1+1; }
1081 for ( i9=st9; i9<len9; i9++ ) {
1082 if (l9[i9]->Overlaps ( l8[i8] )
1083 || l9[i9]->Overlaps ( l7[i7] )
1084 || l9[i9]->Overlaps ( l6[i6] )
1085 || l9[i9]->Overlaps ( l5[i5] )
1086 || l9[i9]->Overlaps ( l4[i4] )
1087 || l9[i9]->Overlaps ( l3[i3] )
1088 || l9[i9]->Overlaps ( l2[i2] )
1089 || l9[i9]->Overlaps ( l1[i1] ) ) {
continue; }
1091 vl=l1[i1]->P4() +l2[i2]->P4() +l3[i3]->P4() +l4[i4]->P4() +l5[i5]->P4() +l6[i6]->P4() +l7[i7]->P4() +l8[i8]->P4() +l9[i9]->P4();
1092 charge=l1[i1]->Charge() +l2[i2]->Charge() +l3[i3]->Charge() +l4[i4]->Charge() +l5[i5]->Charge() +l6[i6]->Charge() +l7[i7]->Charge() +l8[i8]->Charge() +l9[i9]->Charge();
1095 c.
SetCovP4 ( l1[i1]->P4Cov() +l2[i2]->P4Cov() +l3[i3]->P4Cov() +l4[i4]->P4Cov() +l5[i5]->P4Cov() +l6[i6]->P4Cov() +l7[i7]->P4Cov() +l8[i8]->P4Cov() +l9[i9]->P4Cov() );
1097 c.
SetMarker ( l1[i1]->GetMarker ( 0 ) |l2[i2]->GetMarker ( 0 ) |l3[i3]->GetMarker ( 0 ) |l4[i4]->GetMarker ( 0 ) |l5[i5]->GetMarker ( 0 ) |l6[i6]->GetMarker ( 0 ) |l7[i7]->GetMarker ( 0 ) |l8[i8]->GetMarker ( 0 ) |l9[i9]->GetMarker ( 0 ),0 );
1098 c.
SetMarker ( l1[i1]->GetMarker ( 1 ) |l2[i2]->GetMarker ( 1 ) |l3[i3]->GetMarker ( 1 ) |l4[i4]->GetMarker ( 1 ) |l5[i5]->GetMarker ( 1 ) |l6[i6]->GetMarker ( 1 ) |l7[i7]->GetMarker ( 1 ) |l8[i8]->GetMarker ( 1 ) |l9[i9]->GetMarker ( 1 ),1 );
1099 c.
SetMarker ( l1[i1]->GetMarker ( 2 ) |l2[i2]->GetMarker ( 2 ) |l3[i3]->GetMarker ( 2 ) |l4[i4]->GetMarker ( 2 ) |l5[i5]->GetMarker ( 2 ) |l6[i6]->GetMarker ( 2 ) |l7[i7]->GetMarker ( 2 ) |l8[i8]->GetMarker ( 2 ) |l9[i9]->GetMarker ( 2 ),2 );
1100 c.
SetMarker ( l1[i1]->GetMarker ( 3 ) |l2[i2]->GetMarker ( 3 ) |l3[i3]->GetMarker ( 3 ) |l4[i4]->GetMarker ( 3 ) |l5[i5]->GetMarker ( 3 ) |l6[i6]->GetMarker ( 3 ) |l7[i7]->GetMarker ( 3 ) |l8[i8]->GetMarker ( 3 ) |l9[i9]->GetMarker ( 3 ),3 );
1102 c.SetInsertHistory(kFALSE);
1103 if(l1[i1]->GetPointerToLinks() != 0) c.AddLinks(*l1[i1]->GetPointerToLinks());
1104 if(l2[i2]->GetPointerToLinks() != 0) c.AddLinks(*l2[i2]->GetPointerToLinks());
1105 if(l3[i3]->GetPointerToLinks() != 0) c.AddLinks(*l3[i3]->GetPointerToLinks());
1106 if(l4[i4]->GetPointerToLinks() != 0) c.AddLinks(*l4[i4]->GetPointerToLinks());
1107 if(l5[i5]->GetPointerToLinks() != 0) c.AddLinks(*l5[i5]->GetPointerToLinks());
1108 if(l6[i6]->GetPointerToLinks() != 0) c.AddLinks(*l6[i6]->GetPointerToLinks());
1109 if(l7[i7]->GetPointerToLinks() != 0) c.AddLinks(*l7[i7]->GetPointerToLinks());
1110 if(l8[i8]->GetPointerToLinks() != 0) c.AddLinks(*l8[i8]->GetPointerToLinks());
1111 if(l9[i9]->GetPointerToLinks() != 0) c.AddLinks(*l9[i9]->GetPointerToLinks());
1153 int i1,i2,i3,i4,i5,i6,i7,i8,i9,i10;
1154 int st2,st3,st4,st5,st6,st7,st8,st9,st10;
1156 for ( i1=0; i1<len1; i1++ ) {
1158 if ( &l2==&l1 ) { st2=i1+1; }
1160 for ( i2=st2; i2<len2; i2++ ) {
1161 if ( l1[i1]->Overlaps ( l2[i2] ) ) {
continue; }
1164 if ( &l3==&l2 ) { st3=i2+1; }
1165 else if ( &l3==&l1 ) { st3=i1+1; }
1167 for ( i3=st3; i3<len3; i3++ ) {
1168 if ( l3[i3]->Overlaps ( l2[i2] )
1169 || l3[i3]->Overlaps ( l1[i1] ) ) {
continue; }
1172 if ( &l4==&l3 ) { st4=i3+1; }
1173 else if ( &l4==&l2 ) { st4=i2+1; }
1174 else if ( &l4==&l1 ) { st4=i1+1; }
1176 for ( i4=st4; i4<len4; i4++ ) {
1177 if ( l4[i4]->Overlaps ( l3[i3] )
1178 || l4[i4]->Overlaps ( l2[i2] )
1179 || l4[i4]->Overlaps ( l1[i1] ) ) {
continue; }
1182 if ( &l5==&l4 ) { st5=i4+1; }
1183 else if ( &l5==&l3 ) { st5=i3+1; }
1184 else if ( &l5==&l2 ) { st5=i2+1; }
1185 else if ( &l5==&l1 ) { st5=i1+1; }
1187 for ( i5=st5; i5<len5; i5++ ) {
1188 if ( l5[i5]->Overlaps ( l4[i4] )
1189 || l5[i5]->Overlaps ( l3[i3] )
1190 || l5[i5]->Overlaps ( l2[i2] )
1191 || l5[i5]->Overlaps ( l1[i1] ) ) {
continue; }
1194 if ( &l6==&l5 ) { st6=i5+1; }
1195 else if ( &l6==&l4 ) { st6=i4+1; }
1196 else if ( &l6==&l3 ) { st6=i3+1; }
1197 else if ( &l6==&l2 ) { st6=i2+1; }
1198 else if ( &l6==&l1 ) { st6=i1+1; }
1199 for ( i6=st6; i6<len6; i6++ ) {
1200 if (l6[i6]->Overlaps ( l5[i5] )
1201 || l6[i6]->Overlaps ( l4[i4] )
1202 || l6[i6]->Overlaps ( l3[i3] )
1203 || l6[i6]->Overlaps ( l2[i2] )
1204 || l6[i6]->Overlaps ( l1[i1] ) ) {
continue; }
1207 if ( &l7==&l6 ) { st7=i6+1; }
1208 else if ( &l7==&l5 ) { st7=i5+1; }
1209 else if ( &l7==&l4 ) { st7=i4+1; }
1210 else if ( &l7==&l3 ) { st7=i3+1; }
1211 else if ( &l7==&l2 ) { st7=i2+1; }
1212 else if ( &l7==&l1 ) { st7=i1+1; }
1213 for ( i7=st7; i7<len7; i7++ ) {
1214 if (l7[i7]->Overlaps ( l6[i6] )
1215 || l7[i7]->Overlaps ( l5[i5] )
1216 || l7[i7]->Overlaps ( l4[i4] )
1217 || l7[i7]->Overlaps ( l3[i3] )
1218 || l7[i7]->Overlaps ( l2[i2] )
1219 || l7[i7]->Overlaps ( l1[i1] ) ) {
continue; }
1222 if ( &l8==&l7 ) { st8=i7+1; }
1223 else if ( &l8==&l6 ) { st8=i6+1; }
1224 else if ( &l8==&l5 ) { st8=i5+1; }
1225 else if ( &l8==&l4 ) { st8=i4+1; }
1226 else if ( &l8==&l3 ) { st8=i3+1; }
1227 else if ( &l8==&l2 ) { st8=i2+1; }
1228 else if ( &l8==&l1 ) { st8=i1+1; }
1229 for ( i8=st8; i8<len8; i8++ ) {
1230 if (l8[i8]->Overlaps ( l7[i7] )
1231 || l8[i8]->Overlaps ( l6[i6] )
1232 || l8[i8]->Overlaps ( l5[i5] )
1233 || l8[i8]->Overlaps ( l4[i4] )
1234 || l8[i8]->Overlaps ( l3[i3] )
1235 || l8[i8]->Overlaps ( l2[i2] )
1236 || l8[i8]->Overlaps ( l1[i1] ) ) {
continue; }
1239 if ( &l9==&l8 ) { st9=i8+1; }
1240 else if ( &l9==&l7 ) { st9=i7+1; }
1241 else if ( &l9==&l6 ) { st9=i6+1; }
1242 else if ( &l9==&l5 ) { st9=i5+1; }
1243 else if ( &l9==&l4 ) { st9=i4+1; }
1244 else if ( &l9==&l3 ) { st9=i3+1; }
1245 else if ( &l9==&l2 ) { st9=i2+1; }
1246 else if ( &l9==&l1 ) { st9=i1+1; }
1247 for ( i9=st9; i9<len9; i9++ ) {
1248 if (l9[i9]->Overlaps ( l8[i8] )
1249 || l9[i9]->Overlaps ( l7[i7] )
1250 || l9[i9]->Overlaps ( l6[i6] )
1251 || l9[i9]->Overlaps ( l5[i5] )
1252 || l9[i9]->Overlaps ( l4[i4] )
1253 || l9[i9]->Overlaps ( l3[i3] )
1254 || l9[i9]->Overlaps ( l2[i2] )
1255 || l9[i9]->Overlaps ( l1[i1] ) ) {
continue; }
1258 if ( &l10==&l9 ) { st10=i9+1; }
1259 else if ( &l10==&l8 ) { st10=i8+1; }
1260 else if ( &l10==&l7 ) { st10=i7+1; }
1261 else if ( &l10==&l6 ) { st10=i6+1; }
1262 else if ( &l10==&l5 ) { st10=i5+1; }
1263 else if ( &l10==&l4 ) { st10=i4+1; }
1264 else if ( &l10==&l3 ) { st10=i3+1; }
1265 else if ( &l10==&l2 ) { st10=i2+1; }
1266 else if ( &l10==&l1 ) { st10=i1+1; }
1267 for ( i10=st10; i10<len10; i10++ ) {
1268 if ( l10[i10]->Overlaps ( l9[i9] )
1269 || l10[i10]->Overlaps ( l8[i8] )
1270 || l10[i10]->Overlaps ( l7[i7] )
1271 || l10[i10]->Overlaps ( l6[i6] )
1272 || l10[i10]->Overlaps ( l5[i5] )
1273 || l10[i10]->Overlaps ( l4[i4] )
1274 || l10[i10]->Overlaps ( l3[i3] )
1275 || l10[i10]->Overlaps ( l2[i2] )
1276 || l10[i10]->Overlaps ( l1[i1] ) ) {
continue; }
1280 vl=l1[i1]->P4() +l2[i2]->P4() +l3[i3]->P4() +l4[i4]->P4() +l5[i5]->P4() +l6[i6]->P4() +l7[i7]->P4() +l8[i8]->P4() +l9[i9]->P4() +l10[i10]->P4();
1281 charge=l1[i1]->Charge() +l2[i2]->Charge() +l3[i3]->Charge() +l4[i4]->Charge() +l5[i5]->Charge() +l6[i6]->Charge() +l7[i7]->Charge() +l8[i8]->Charge() +l9[i9]->Charge() +l10[i10]->Charge();
1284 c.
SetCovP4 ( l1[i1]->P4Cov() +l2[i2]->P4Cov() +l3[i3]->P4Cov() +l4[i4]->P4Cov() +l5[i5]->P4Cov() +l6[i6]->P4Cov() +l7[i7]->P4Cov() +l8[i8]->P4Cov() +l9[i9]->P4Cov() +l10[i10]->P4Cov() );
1286 c.
SetMarker ( l1[i1]->GetMarker ( 0 ) |l2[i2]->GetMarker ( 0 ) |l3[i3]->GetMarker ( 0 ) |l4[i4]->GetMarker ( 0 ) |l5[i5]->GetMarker ( 0 ) |l6[i6]->GetMarker ( 0 ) |l7[i7]->GetMarker ( 0 ) |l8[i8]->GetMarker ( 0 ) |l9[i9]->GetMarker ( 0 ) |l10[i10]->GetMarker ( 0 ),0 );
1287 c.
SetMarker ( l1[i1]->GetMarker ( 1 ) |l2[i2]->GetMarker ( 1 ) |l3[i3]->GetMarker ( 1 ) |l4[i4]->GetMarker ( 1 ) |l5[i5]->GetMarker ( 1 ) |l6[i6]->GetMarker ( 1 ) |l7[i7]->GetMarker ( 1 ) |l8[i8]->GetMarker ( 1 ) |l9[i9]->GetMarker ( 1 ) |l10[i10]->GetMarker ( 1 ),1 );
1288 c.
SetMarker ( l1[i1]->GetMarker ( 2 ) |l2[i2]->GetMarker ( 2 ) |l3[i3]->GetMarker ( 2 ) |l4[i4]->GetMarker ( 2 ) |l5[i5]->GetMarker ( 2 ) |l6[i6]->GetMarker ( 2 ) |l7[i7]->GetMarker ( 2 ) |l8[i8]->GetMarker ( 2 ) |l9[i9]->GetMarker ( 2 ) |l10[i10]->GetMarker ( 2 ),2 );
1289 c.
SetMarker ( l1[i1]->GetMarker ( 3 ) |l2[i2]->GetMarker ( 3 ) |l3[i3]->GetMarker ( 3 ) |l4[i4]->GetMarker ( 3 ) |l5[i5]->GetMarker ( 3 ) |l6[i6]->GetMarker ( 3 ) |l7[i7]->GetMarker ( 3 ) |l8[i8]->GetMarker ( 3 ) |l9[i9]->GetMarker ( 3 ) |l10[i10]->GetMarker ( 3 ),3 );
1291 c.SetInsertHistory(kFALSE);
1292 if(l1[i1]->GetPointerToLinks() != 0) c.AddLinks(*l1[i1]->GetPointerToLinks());
1293 if(l2[i2]->GetPointerToLinks() != 0) c.AddLinks(*l2[i2]->GetPointerToLinks());
1294 if(l3[i3]->GetPointerToLinks() != 0) c.AddLinks(*l3[i3]->GetPointerToLinks());
1295 if(l4[i4]->GetPointerToLinks() != 0) c.AddLinks(*l4[i4]->GetPointerToLinks());
1296 if(l5[i5]->GetPointerToLinks() != 0) c.AddLinks(*l5[i5]->GetPointerToLinks());
1297 if(l6[i6]->GetPointerToLinks() != 0) c.AddLinks(*l6[i6]->GetPointerToLinks());
1298 if(l7[i7]->GetPointerToLinks() != 0) c.AddLinks(*l7[i7]->GetPointerToLinks());
1299 if(l8[i8]->GetPointerToLinks() != 0) c.AddLinks(*l8[i8]->GetPointerToLinks());
1300 if(l9[i9]->GetPointerToLinks() != 0) c.AddLinks(*l9[i9]->GetPointerToLinks());
1301 if(l10[i10]->GetPointerToLinks() != 0) c.AddLinks(*l10[i10]->GetPointerToLinks());
1349 for ( Int_t
i=0;
i<
n;
i++ ) {
1351 if ( selfunc ( c ) ) {
1362 for ( Int_t
i=0;
i<
n;
i++ ) {
1375 for ( Int_t
i=0;
i<
n;
i++ ) {
1377 if ( pidmgr->
Accept ( c ) ) {
1386 for ( Int_t
i=0;
i<
n;
i++ ) {
1388 if ( 0==pidmgr || pidmgr->
Accept ( c ) ) {
void AddDaughterLinkSimple(const RhoCandidate *, bool verbose=true)
void InsertAt(Int_t i, const RhoCandidate *c)
void Append(const RhoCandidate *c)
void SetNumberOfTracks(Int_t)
RhoCandList(const char *name="RhoCandList", UInt_t capacity=512)
void Boost(const TVector3 &)
virtual Bool_t Accept(RhoCandidate *)=0
TVector3 GetTotalMomentum(Double_t pmin=0.0)
void Boost(Double_t bx, Double_t by, Double_t bz)
std::ostream & operator<<(std::ostream &o, const PndEventInfo &a)
RhoCandidate * operator[](Int_t)
void SetType(const TParticlePDG *pdt)
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2)
void Combine(RhoCandList &l1, RhoCandList &l2)
Bool_t Overlaps(const RhoCandidate *c) const
void operator=(const RhoCandList &)
void Select(RhoParticleSelectorBase *pidmgr)
void SetType(const TParticlePDG *pdt, int start=0)
static RhoFactory * Instance()
Int_t Remove(RhoCandidate *)
Int_t GetNumberOfTracks() const
Bool_t Equals(const RhoCandidate *c) const
Int_t RemoveFamily(RhoCandidate *)
void Sort(int(*compfunc)(const RhoCandidate **, const RhoCandidate **))
Int_t OccurrencesOf(RhoCandidate *)
void SetCovP4(const TMatrixD &covP4)
static RhoCandidate * NewCandidate()
int compare_function(const void *, const void *)
void Remainder(RhoCandList &)
void PrintOn(std::ostream &o=std::cout) const
void FillFittedList(RhoCandList &fittedlist)
RhoCandidate * GetFit() const
void Put(const RhoCandidate *, Int_t i=-1)
void SetMarker(UInt_t l, UInt_t m)
RhoCandidate * GetConst(Int_t) const
UInt_t GetMarker(UInt_t m=0) const
Double_t GetTotalEnergy(Double_t emin=0.0)
RhoCandList * GetFittedList()
RhoCandidate * Get(Int_t)