Visualization of raw data in FED-less events (Robert Harr and Alexander Sakharov)
Visualization of raw data.
537 LogTrace(
"badData") << std::endl << std::endl;
541 LogTrace(
"badData") <<
"FED-" <<
id <<
" " <<
"(scroll down to see summary)";
543 LogTrace(
"badData") <<
"Problem seems in FED-" <<
id <<
" " <<
"(scroll down to see summary)";
544 LogTrace(
"badData") <<
"********************************************************************************";
545 LogTrace(
"badData") <<hl<<
" words of data:";
549 std::vector<int> dcc_id;
552 for (
int i=750;
i<758;
i++)
555 for (
int i=830;
i<838;
i++)
558 char dcc_common[]=
"DCC-";
562 std::vector<int> ddu_id;
564 for (
int i=1;
i<37;
i++)
567 char ddu_common[]=
"DDU-";
568 char ddu_header1[]=
"Header 1";
569 char ddu_header2[]=
"Header 2";
570 char ddu_header3[]=
"Header 3";
571 char ddu_trail1[]=
"Trailer 1", ddu_trail2[]=
"Trailer 2", ddu_trail3[]=
"Trailer 3";
573 char ddu_trailer1_bit[]={
'8',
'0',
'0',
'0',
'f',
'f',
'f',
'f',
'8',
'0',
'0',
'0',
'8',
'0',
'0',
'0'};
574 char ddu_trailer3_bit[]={
'a'};
576 char ddu_tr1_err_common[]=
"Incomplet";
580 char dmb_common[]=
"DMB", dmb_header1[]=
"Header 1", dmb_header2[]=
"Header 2";
581 char dmb_common_crate[]=
"crate:", dmb_common_slot[]=
"slot:";
582 char dmb_common_l1a[]=
"L1A:";
583 char dmb_header1_bit[]={
'9',
'9',
'9',
'9'};
584 char dmb_header2_bit[]={
'a',
'a',
'a',
'a'};
585 char dmb_tr1[]=
"Trailer 1", dmb_tr2[]=
"Trailer 2";
586 char dmb_tr1_bit[]={
'f',
'f',
'f',
'f'}, dmb_tr2_bit[]={
'e',
'e',
'e',
'e'};
592 char alct_common[]=
"ALCT", alct_header1[]=
"Header 1", alct_header2[]=
"Header 2";
593 char alct_common_bxn[]=
"BXN:";
594 char alct_common_wcnt2[]=
"| Actual word count:";
595 char alct_common_wcnt1[]=
"Expected word count:";
596 char alct_header1_bit[]={
'd',
'd',
'd',
'd',
'b',
'0',
'a'};
597 char alct_header2_bit[]={
'0',
'0',
'0',
'0'};
598 char alct_tr1[]=
"Trailer 1";
603 char tmb_common[]=
"TMB", tmb_header1[]=
"Header", tmb_tr1[]=
"Trailer";
604 char tmb_header1_bit[]={
'd',
'd',
'd',
'd',
'b',
'0',
'c'};
605 char tmb_tr1_bit[]={
'd',
'd',
'd',
'd',
'e',
'0',
'f'};
610 char cfeb_common[]=
"CFEB", cfeb_tr1[]=
"Trailer", cfeb_b[]=
"B-word";
611 char cfeb_common_sample[]=
"sample:";
621 char tempbuf_short[17];
622 char sign1[]=
" --->| ";
625 int word_numbering=0;
626 int ddu_inst_i=0, ddu_inst_n=0, ddu_inst_l1a=0;
628 int dmb_inst_crate=0, dmb_inst_slot=0, dmb_inst_l1a=0;
632 int alct_inst_wcnt1=0;
633 int alct_inst_wcnt2=0;
637 int tmb_inst_wcnt1=0;
638 int tmb_inst_wcnt2=0;
649 bool dcc_check=
false;
650 bool ddu_h2_check[sz1]={
false};
651 bool ddu_h1_check=
false;
652 bool dmb_h1_check[sz1]={
false};
653 bool dmb_h2_check[sz1]={
false};
654 bool ddu_h2_h1=
false;
655 bool ddu_tr1_check[sz1]={
false};
656 bool alct_h1_check[sz1]={
false};
657 bool alct_h2_check[sz1]={
false};
658 bool alct_tr1_check[sz1]={
false};
659 bool dmb_tr1_check[sz1]={
false};
660 bool dmb_tr2_check[sz1]={
false};
661 bool tmb_h1_check[sz1]={
false};
662 bool tmb_tr1_check[sz1]={
false};
663 bool cfeb_tr1_check[sz1]={
false};
664 bool cfeb_b_check[sz1]={
false};
665 bool ddu_tr1_bad_check[sz1]={
false};
666 bool extraction=fedshort;
670 std::vector<int> ddu_h1_coll;
671 std::vector<int> ddu_h1_n_coll;
672 std::vector<int> ddu_h2_coll;
673 std::vector<int> ddu_h3_coll;
674 std::vector<int> ddu_t1_coll;
675 std::vector<int> ddu_t2_coll;
676 std::vector<int> ddu_t3_coll;
677 std::vector<int> ddu_l1a_coll;
678 std::vector<int> ddu_bxn_coll;
680 std::vector<int> dmb_h1_coll;
681 std::vector<int> dmb_h2_coll;
682 std::vector<int> dmb_t1_coll;
683 std::vector<int> dmb_t2_coll;
684 std::vector<int> dmb_crate_coll;
685 std::vector<int> dmb_slot_coll;
686 std::vector<int> dmb_l1a_coll;
688 std::vector<int> alct_h1_coll;
689 std::vector<int> alct_h2_coll;
690 std::vector<int> alct_t1_coll;
691 std::vector<int> alct_l1a_coll;
692 std::vector<int> alct_bxn_coll;
693 std::vector<int> alct_wcnt1_coll;
694 std::vector<int> alct_wcnt2_coll;
695 std::vector<int> alct_wcnt2_id_coll;
697 std::vector<int> tmb_h1_coll;
698 std::vector<int> tmb_t1_coll;
699 std::vector<int> tmb_l1a_coll;
700 std::vector<int> tmb_wcnt1_coll;
701 std::vector<int> tmb_wcnt2_coll;
703 std::vector<int> cfeb_t1_coll;
708 char dcc_header1[]=
"DCC Header 1";
709 char dcc_header2[]=
"DCC Header 2";
710 char dcc_trail1[]=
"DCC Trailer 1", dcc_trail1_bit[]={
'e'};
711 char dcc_trail2[]=
"DCC Trailer 2", dcc_trail2_bit[]={
'a'};
714 for (
int i=0;
i<hl;
i++) {
717 for(
int j=-1;
j<4;
j++){
718 sprintf(tempbuf_short,
"%04x%04x%04x%04x",buf[
i+4*(
j-1)+3],buf[
i+4*(
j-1)+2],buf[
i+4*(
j-1)+1],buf[
i+4*(
j-1)]);
720 ddu_h2_check[
j]=((buf[
i+4*(
j-1)+1]==0x8000)&&
721 (buf[
i+4*(
j-1)+2]==0x0001)&&(buf[
i+4*(
j-1)+3]==0x8000));
723 ddu_tr1_check[
j]=((tempbuf_short[0]==ddu_trailer1_bit[0])&&(tempbuf_short[1]==ddu_trailer1_bit[1])&&
724 (tempbuf_short[2]==ddu_trailer1_bit[2])&&(tempbuf_short[3]==ddu_trailer1_bit[3])&&
725 (tempbuf_short[4]==ddu_trailer1_bit[4])&&(tempbuf_short[5]==ddu_trailer1_bit[5])&&
726 (tempbuf_short[6]==ddu_trailer1_bit[6])&&(tempbuf_short[7]==ddu_trailer1_bit[7])&&
727 (tempbuf_short[8]==ddu_trailer1_bit[8])&&(tempbuf_short[9]==ddu_trailer1_bit[9])&&
728 (tempbuf_short[10]==ddu_trailer1_bit[10])&&(tempbuf_short[11]==ddu_trailer1_bit[11])&&
729 (tempbuf_short[12]==ddu_trailer1_bit[12])&&(tempbuf_short[13]==ddu_trailer1_bit[13])&&
730 (tempbuf_short[14]==ddu_trailer1_bit[14])&&(tempbuf_short[15]==ddu_trailer1_bit[15]));
732 dmb_h1_check[
j]=((tempbuf_short[0]==dmb_header1_bit[0])&&(tempbuf_short[4]==dmb_header1_bit[1])&&
733 (tempbuf_short[8]==dmb_header1_bit[2])&&(tempbuf_short[12]==dmb_header1_bit[3]));
735 dmb_h2_check[
j]=((tempbuf_short[0]==dmb_header2_bit[0])&&(tempbuf_short[4]==dmb_header2_bit[1])&&
736 (tempbuf_short[8]==dmb_header2_bit[2])&&(tempbuf_short[12]==dmb_header2_bit[3]));
737 alct_h1_check[
j]=((tempbuf_short[0]==alct_header1_bit[0])&&(tempbuf_short[4]==alct_header1_bit[1])&&
738 (tempbuf_short[8]==alct_header1_bit[2])&&(tempbuf_short[12]==alct_header1_bit[3])&&
739 (tempbuf_short[13]==alct_header1_bit[4])&&(tempbuf_short[14]==alct_header1_bit[5])&&
740 (tempbuf_short[15]==alct_header1_bit[6]));
741 alct_h2_check[
j]=(((tempbuf_short[0]==alct_header2_bit[0])&&(tempbuf_short[1]==alct_header2_bit[1])&&
742 (tempbuf_short[2]==alct_header2_bit[2])&&(tempbuf_short[3]==alct_header2_bit[3]))||
743 ((tempbuf_short[4]==alct_header2_bit[0])&&(tempbuf_short[5]==alct_header2_bit[1])&&
744 (tempbuf_short[6]==alct_header2_bit[2])&&(tempbuf_short[7]==alct_header2_bit[3]))||
745 ((tempbuf_short[8]==alct_header2_bit[0])&&(tempbuf_short[9]==alct_header2_bit[1])&&
746 (tempbuf_short[10]==alct_header2_bit[2])&&(tempbuf_short[11]==alct_header2_bit[3]))||
747 ((tempbuf_short[12]==alct_header2_bit[0])&&(tempbuf_short[13]==alct_header2_bit[1])&&
748 (tempbuf_short[14]==alct_header2_bit[2])&&(tempbuf_short[15]==alct_header2_bit[3]))
752 alct_tr1_check[
j]=(((buf[
i+4*(
j-1)]&0xFFFF)==0xDE0D)&&((buf[
i+4*(
j-1)+1]&0xF800)==0xD000)&&
753 ((buf[
i+4*(
j-1)+2]&0xF800)==0xD000)&&((buf[
i+4*(
j-1)+3]&0xF000)==0xD000));
755 dmb_tr1_check[
j]=((tempbuf_short[0]==dmb_tr1_bit[0])&&(tempbuf_short[4]==dmb_tr1_bit[1])&&
756 (tempbuf_short[8]==dmb_tr1_bit[2])&&(tempbuf_short[12]==dmb_tr1_bit[3]));
757 dmb_tr2_check[
j]=((tempbuf_short[0]==dmb_tr2_bit[0])&&(tempbuf_short[4]==dmb_tr2_bit[1])&&
758 (tempbuf_short[8]==dmb_tr2_bit[2])&&(tempbuf_short[12]==dmb_tr2_bit[3]));
760 tmb_h1_check[
j]=((tempbuf_short[0]==tmb_header1_bit[0])&&(tempbuf_short[4]==tmb_header1_bit[1])&&
761 (tempbuf_short[8]==tmb_header1_bit[2])&&(tempbuf_short[12]==tmb_header1_bit[3])&&
762 (tempbuf_short[13]==tmb_header1_bit[4])&&(tempbuf_short[14]==tmb_header1_bit[5])&&
763 (tempbuf_short[15]==tmb_header1_bit[6]));
764 tmb_tr1_check[
j]=((tempbuf_short[0]==tmb_tr1_bit[0])&&(tempbuf_short[4]==tmb_tr1_bit[1])&&
765 (tempbuf_short[8]==tmb_tr1_bit[2])&&(tempbuf_short[12]==tmb_tr1_bit[3])&&
766 (tempbuf_short[13]==tmb_tr1_bit[4])&&(tempbuf_short[14]==tmb_tr1_bit[5])&&
767 (tempbuf_short[15]==tmb_tr1_bit[6]));
769 cfeb_tr1_check[
j]=(((buf[
i+4*(
j-1)+1]&0xF000)==0x7000) &&
770 ((buf[
i+4*(
j-1)+2]&0xF000)==0x7000) &&
771 (( buf[
i+4*(
j-1)+1]!= 0x7FFF) || (buf[
i+4*(
j-1)+2] != 0x7FFF)) &&
772 ((buf[
i+4*(
j-1)+3] == 0x7FFF) ||
773 ((buf[
i+4*(
j-1)+3]&buf[
i+4*(
j-1)]) == 0x0&&(buf[
i+4*(
j-1)+3] + buf[
i+4*(
j-1)] == 0x7FFF ))) );
774 cfeb_b_check[
j]=(((buf[
i+4*(
j-1)+3]&0xF000)==0xB000)&&((buf[
i+4*(
j-1)+2]&0xF000)==0xB000) &&
775 ((buf[
i+4*(
j-1)+1]&0xF000)==0xB000)&&((buf[
i+4*(
j-1)]=3&0xF000)==0xB000) );
777 ddu_tr1_bad_check[
j]=((tempbuf_short[0]!=ddu_trailer1_bit[0])&&
780 (tempbuf_short[4]!=ddu_trailer1_bit[4])&&
783 (tempbuf_short[8]==ddu_trailer1_bit[8])&&(tempbuf_short[9]==ddu_trailer1_bit[9])&&
784 (tempbuf_short[10]==ddu_trailer1_bit[10])&&(tempbuf_short[11]==ddu_trailer1_bit[11])&&
785 (tempbuf_short[12]==ddu_trailer1_bit[12])&&(tempbuf_short[13]==ddu_trailer1_bit[13])&&
786 (tempbuf_short[14]==ddu_trailer1_bit[14])&&(tempbuf_short[15]==ddu_trailer1_bit[15]));
791 ddu_h2_h1=ddu_h2_check[2];
793 sprintf(tempbuf_short,
"%04x%04x%04x%04x",buf[
i+3],buf[
i+2],buf[
i+1],buf[
i]);
796 ddu_h1_12_13=(buf[
i]>>8);
797 for (
int kk=0; kk<36; kk++){
798 if(((buf[
i+3]&0xF000)==0x5000)&&(ddu_h1_12_13==ddu_id[kk])&&ddu_h2_h1){
799 ddu_h1_coll.push_back(word_numbering); ddu_h1_n_coll.push_back(ddu_id[kk]);
800 ddu_inst_l1a=((buf[
i+2]&0xFFFF)+((buf[
i+3]&0x00FF)<<16));
801 ddu_l1a_coll.push_back(ddu_inst_l1a);
802 ddu_inst_bxn=(buf[
i+1]&0xFFF0)>>4;
803 ddu_bxn_coll.push_back(ddu_inst_bxn);
804 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s%i %s%s %s %i %s %i",
805 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
806 sign1,ddu_common,ddu_id[kk],ddu_header1,sign1,dmb_common_l1a,ddu_inst_l1a,alct_common_bxn,ddu_inst_bxn);
807 LogTrace(
"badData") << tempbuf1; w=0; ddu_h1_check=
true; ddu_inst_l1a=0;
813 dcc_h1_id=(((buf[
i+1]<<12)&0xF000)>>4)+(buf[
i]>>8);
814 for(
int dcci=0;dcci<16;dcci++){
815 if((dcc_id[dcci]==dcc_h1_id)&&(((buf[
i+3]&0xF000)==0x5000)&&(!ddu_h1_check))){
816 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s%i %s",word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
817 sign1,dcc_common,dcc_h1_id,dcc_header1); dcc_h1_check=word_numbering; w=0;
824 if(((word_numbering-1)==dcc_h1_check)&&((buf[
i+3]&0xFF00)==0xD900)) {
825 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s",word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
827 LogTrace(
"badData") << tempbuf1; w=0;
829 else if((word_numbering==word_lines-1)&&(tempbuf_short[0]==dcc_trail1_bit[0])){
830 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s",word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
832 LogTrace(
"badData") << tempbuf1; w=0;
834 else if((word_numbering==word_lines)&&(tempbuf_short[0]==dcc_trail2_bit[0])){
835 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s",word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
837 LogTrace(
"badData") << tempbuf1; w=0;
841 else if(ddu_h2_check[1]){
842 ddu_inst_i = ddu_h1_n_coll.size();
843 ddu_inst_n=ddu_h1_n_coll[ddu_inst_i-1];
844 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s%i %s",
845 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],sign1,ddu_common,
846 ddu_inst_n, ddu_header2);
847 ddu_h2_coll.push_back(word_numbering);
848 LogTrace(
"badData") << tempbuf1; w=0;
853 else if((ddu_h2_check[0]&&dmb_h1_check[2])||(ddu_h2_check[0]&&ddu_tr1_check[2])){
854 ddu_inst_i = ddu_h1_n_coll.size(); ddu_inst_n=ddu_h1_n_coll[ddu_inst_i-1];
855 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s%i %s",word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
856 sign1,ddu_common,ddu_inst_n,ddu_header3);
857 ddu_h3_coll.push_back(word_numbering);
858 LogTrace(
"badData") << tempbuf1; w=0;
864 else if(dmb_h1_check[1]){
865 dmb_inst_crate=0; dmb_inst_slot=0; dmb_inst_l1a=0;
866 dmb_inst_l1a=((buf[
i]&0x0FFF)+((buf[
i+1]&0xFFF)<<12));
867 dmb_l1a_coll.push_back(dmb_inst_l1a);
869 dmb_inst_crate=((buf[
i+4+1]>>4)&0xFF); dmb_inst_slot=(buf[
i+4+1]&0xF);
870 dmb_crate_coll.push_back(dmb_inst_crate); dmb_slot_coll.push_back(dmb_inst_slot);
872 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s%s%s %i %s %i %s %i",
873 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
874 sign1,dmb_common,dmb_header1,sign1,dmb_common_crate,dmb_inst_crate,
875 dmb_common_slot,dmb_inst_slot,dmb_common_l1a,dmb_inst_l1a);
876 dmb_h1_coll.push_back(word_numbering);
877 LogTrace(
"badData") << tempbuf1; w=0;
881 else if(dmb_h2_check[1]){
882 dmb_inst_crate=((buf[
i+1]>>4)&0xFF); dmb_inst_slot=(buf[
i+1]&0xF);
883 dmb_h2_coll.push_back(word_numbering);
885 dmb_inst_l1a=((buf[
i-4]&0x0FFF)+((buf[
i-4+1]&0xFFF)<<12));
886 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s%s%s %i %s %i %s %i",
887 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
888 sign1,dmb_common,dmb_header2,sign1,dmb_common_crate,dmb_inst_crate,
889 dmb_common_slot,dmb_inst_slot,dmb_common_l1a,dmb_inst_l1a);
890 LogTrace(
"badData") << tempbuf1; w=0;
895 else if(ddu_tr1_check[1]){
896 ddu_inst_i = ddu_h1_n_coll.size(); ddu_inst_n=ddu_h1_n_coll[ddu_inst_i-1];
897 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s%i %s",
898 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],sign1,ddu_common,ddu_inst_n,ddu_trail1);
899 ddu_t1_coll.push_back(word_numbering);
900 LogTrace(
"badData") << tempbuf1; w=0;
904 else if(alct_h1_check[1]){
905 alct_start=word_numbering;
906 alct_inst_l1a=(buf[
i+2]&0x0FFF);
907 alct_l1a_coll.push_back(alct_inst_l1a);
908 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s%s %s %i",
909 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
910 sign1,alct_common,alct_header1,sign1,dmb_common_l1a,alct_inst_l1a);
911 alct_h1_coll.push_back(word_numbering);
912 LogTrace(
"badData") << tempbuf1; w=0; alct_inst_l1a=0;
915 else if((alct_h1_check[0])&&(alct_h2_check[2])) {
916 alct_inst_bxn=(buf[
i]&0x0FFF);
917 alct_bxn_coll.push_back(alct_inst_bxn);
918 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s%s%s %i",
919 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
920 sign1,alct_common,alct_header2,sign1,alct_common_bxn,alct_inst_bxn);
921 alct_h2_coll.push_back(word_numbering);
922 LogTrace(
"badData") << tempbuf1; w=0; alct_inst_bxn=0;
926 else if(alct_tr1_check[1]){
927 alct_stop=word_numbering;
928 if((alct_start!=0)&&(alct_stop!=0)&&(alct_stop>alct_start)) {
929 alct_inst_wcnt2=4*(alct_stop-alct_start+1);
930 alct_wcnt2_coll.push_back(alct_inst_wcnt2);
931 alct_wcnt2_id_coll.push_back(alct_start);
933 alct_inst_wcnt1=(buf[
i+3]&0x7FF);
934 alct_wcnt1_coll.push_back(alct_inst_wcnt1);
935 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s%s%s %i %s %i",
936 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
937 sign1,alct_common,alct_tr1,sign1,alct_common_wcnt1,alct_inst_wcnt1,
938 alct_common_wcnt2,alct_inst_wcnt2);
939 alct_t1_coll.push_back(word_numbering);
940 LogTrace(
"badData") << tempbuf1; w=0; alct_inst_wcnt1=0;
945 else if((ddu_tr1_check[-1])&&(tempbuf_short[0]==ddu_trailer3_bit[0])){
947 ddu_inst_i = ddu_h1_n_coll.size(); ddu_inst_n=ddu_h1_n_coll[ddu_inst_i-1];
948 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s%i %s",
949 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],sign1,ddu_common,ddu_inst_n,ddu_trail3);
950 ddu_t3_coll.push_back(word_numbering);
951 LogTrace(
"badData") << tempbuf1; w=0;
954 else if((ddu_tr1_check[0])&&(tempbuf_short[0]!=ddu_trailer3_bit[0])){
956 ddu_inst_i = ddu_h1_n_coll.size(); ddu_inst_n=ddu_h1_n_coll[ddu_inst_i-1];
957 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s%i %s",
958 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],sign1,ddu_common,ddu_inst_n,ddu_trail2);
959 ddu_t2_coll.push_back(word_numbering);
960 LogTrace(
"badData") << tempbuf1; w=0;
963 else if(dmb_tr1_check[1]){
964 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s",
965 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],sign1,dmb_common,dmb_tr1);
966 dmb_t1_coll.push_back(word_numbering);
967 LogTrace(
"badData") << tempbuf1; w=0;
971 else if(dmb_tr2_check[1]){
972 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s",
973 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],sign1,dmb_common,dmb_tr2);
974 dmb_t2_coll.push_back(word_numbering);
975 LogTrace(
"badData") << tempbuf1; w=0;
978 else if(tmb_h1_check[1]){
979 tmb_start=word_numbering;
980 tmb_inst_l1a=(buf[
i+2]&0x000F);
981 tmb_l1a_coll.push_back(tmb_inst_l1a);
982 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s%s%s %i",
983 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],sign1,tmb_common,tmb_header1,
984 sign1,dmb_common_l1a,tmb_inst_l1a);
985 tmb_h1_coll.push_back(word_numbering);
986 LogTrace(
"badData") << tempbuf1; w=0; tmb_inst_l1a=0;
988 else if(tmb_tr1_check[1]){
989 tmb_stop=word_numbering;
990 if((tmb_start!=0)&&(tmb_stop!=0)&&(tmb_stop>tmb_start)) {
991 tmb_inst_wcnt2=4*(tmb_stop-tmb_start+1);
992 tmb_wcnt2_coll.push_back(tmb_inst_wcnt2);
994 tmb_inst_wcnt1=(buf[
i+3]&0x7FF);
995 tmb_wcnt1_coll.push_back(tmb_inst_wcnt1);
996 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s%s%s %i %s %i",
997 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
998 sign1,tmb_common,tmb_tr1,sign1,alct_common_wcnt1,tmb_inst_wcnt1,
999 alct_common_wcnt2,tmb_inst_wcnt2);
1000 tmb_t1_coll.push_back(word_numbering);
1001 LogTrace(
"badData") << tempbuf1; w=0;
1005 else if(cfeb_tr1_check[1]){
1007 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s%s %s %i",
1008 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
1009 sign1,cfeb_common,cfeb_tr1,sign1,cfeb_common_sample,cfeb_sample);
1010 cfeb_t1_coll.push_back(word_numbering); w=0;
1011 LogTrace(
"badData") << tempbuf1; w=0;
1013 else if(cfeb_b_check[1]){
1014 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s",
1015 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],sign1,cfeb_common,cfeb_b);
1016 LogTrace(
"badData") << tempbuf1; w=0;
1019 else if(ddu_tr1_bad_check[1]){
1020 ddu_inst_i = ddu_h1_n_coll.size(); ddu_inst_n=ddu_h1_n_coll[ddu_inst_i-1];
1021 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s%i %s %s",
1022 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],sign1,ddu_common,ddu_inst_n,
1023 ddu_trail1,ddu_tr1_err_common);
1024 LogTrace(
"badData") << tempbuf1; w=0;
1027 else if(extraction&&(!ddu_h1_check)&&(!dcc_check)){
1029 sprintf(tempbuf,
"%6i %04x %04x %04x %04x",
1030 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i]);
1031 LogTrace(
"badData") << tempbuf; w++;}
1033 LogTrace(
"badData") <<
"..................................................."; w++;}
1036 else if((!ddu_h1_check)&&(!dcc_check)){
1037 sprintf(tempbuf,
"%6i %04x %04x %04x %04x",word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i]);
1041 i+=3; ddu_h1_check=
false; dcc_check=
false;
1044 LogTrace(
"badData") <<
"********************************************************************************" <<
1047 LogTrace(
"badData") <<
"For complete output turn off VisualFEDShort in muonCSCDigis configuration file.";
1048 LogTrace(
"badData") <<
"********************************************************************************" <<
1053 LogTrace(
"badData") << ddu_h1_coll.size() <<
" "<< ddu_common <<
" "<<ddu_header1 <<
" "<<
"found";
1054 for(
unsigned int k=0;
k<ddu_h1_coll.size();++
k){
1055 sprintf(sign,
"%s%6i%5s %s%i %s %i %s %i",
"Line: ",
1056 ddu_h1_coll[
k],sign1,ddu_common,ddu_h1_n_coll[k],dmb_common_l1a,ddu_l1a_coll[k],
1057 alct_common_bxn,ddu_bxn_coll[k]);
1061 LogTrace(
"badData") <<
"||||||||||||||||||||";
1063 LogTrace(
"badData") << ddu_h2_coll.size() <<
" "<< ddu_common <<
" "<<ddu_header2 <<
" "<<
"found";
1064 for(
unsigned int k=0;
k<ddu_h2_coll.size();++
k)
1065 LogTrace(
"badData") <<
"Line: " << ddu_h2_coll[
k];
1067 LogTrace(
"badData") <<
"||||||||||||||||||||";
1069 LogTrace(
"badData") << ddu_h3_coll.size() <<
" "<< ddu_common <<
" "<<ddu_header3 <<
" "<<
"found";
1070 for(
unsigned int k=0;
k<ddu_h3_coll.size();++
k)
1071 LogTrace(
"badData") <<
"Line: " << ddu_h3_coll[
k];
1073 LogTrace(
"badData") <<
"||||||||||||||||||||";
1075 LogTrace(
"badData") << ddu_t1_coll.size() <<
" "<< ddu_common <<
" "<<ddu_trail1 <<
" "<<
"found";
1076 for(
unsigned int k=0;
k<ddu_t1_coll.size();++
k)
1077 LogTrace(
"badData") <<
"Line: " << ddu_t1_coll[
k];
1079 LogTrace(
"badData") <<
"||||||||||||||||||||";
1081 LogTrace(
"badData") << ddu_t2_coll.size() <<
" "<< ddu_common <<
" "<<ddu_trail2 <<
" "<<
"found";
1082 for(
unsigned int k=0;
k<ddu_t2_coll.size();++
k)
1083 LogTrace(
"badData") <<
"Line: " << ddu_t2_coll[
k];
1085 LogTrace(
"badData") <<
"||||||||||||||||||||";
1087 LogTrace(
"badData") << ddu_t3_coll.size() <<
" "<< ddu_common <<
" "<<ddu_trail3 <<
" "<<
"found";
1088 for(
unsigned int k=0;
k<ddu_t3_coll.size();++
k)
1089 LogTrace(
"badData") <<
"Line: " << ddu_t3_coll[
k];
1091 LogTrace(
"badData") <<
"||||||||||||||||||||";
1093 LogTrace(
"badData") << dmb_h1_coll.size() <<
" "<< dmb_common <<
" "<<dmb_header1 <<
" "<<
"found";
1094 for(
unsigned int k=0;
k<dmb_h1_coll.size();++
k){
1095 sprintf(sign,
"%s%6i%5s %s %s %i %s %i %s %i",
"Line: ",
1096 dmb_h1_coll[
k],sign1,dmb_common,dmb_common_crate,dmb_crate_coll[k],dmb_common_slot,
1097 dmb_slot_coll[k],dmb_common_l1a,dmb_l1a_coll[k]);
1101 LogTrace(
"badData") <<
"||||||||||||||||||||";
1103 LogTrace(
"badData") << dmb_h2_coll.size() <<
" "<< dmb_common <<
" "<<dmb_header2 <<
" "<<
"found";
1104 for(
unsigned int k=0;
k<dmb_h2_coll.size();++
k)
1105 LogTrace(
"badData") <<
"Line: " << dmb_h2_coll[
k];
1107 LogTrace(
"badData") <<
"||||||||||||||||||||";
1109 LogTrace(
"badData") << dmb_t1_coll.size() <<
" "<< dmb_common <<
" "<<dmb_tr1 <<
" "<<
"found";
1110 for(
unsigned int k=0;
k<dmb_t1_coll.size();++
k)
1111 LogTrace(
"badData") <<
"Line: " << dmb_t1_coll[
k];
1113 LogTrace(
"badData") <<
"||||||||||||||||||||";
1115 LogTrace(
"badData") << dmb_t2_coll.size() <<
" "<< dmb_common <<
" "<<dmb_tr2 <<
" "<<
"found";
1116 for(
unsigned int k=0;
k<dmb_t2_coll.size();++
k)
1117 LogTrace(
"badData") <<
"Line: " << dmb_t2_coll[
k];
1119 LogTrace(
"badData") <<
"||||||||||||||||||||";
1121 LogTrace(
"badData") << alct_h1_coll.size() <<
" "<< alct_common <<
" "<<alct_header1 <<
" "<<
"found";
1122 for(
unsigned int k=0;
k<alct_h1_coll.size();++
k){
1123 sprintf(sign,
"%s%6i%5s %s %s %i",
"Line: ",
1124 alct_h1_coll[
k],sign1,alct_common,
1125 dmb_common_l1a,alct_l1a_coll[k]);
1129 LogTrace(
"badData") <<
"||||||||||||||||||||";
1131 LogTrace(
"badData") << alct_h2_coll.size() <<
" "<< alct_common <<
" "<<alct_header2 <<
" "<<
"found";
1132 for(
unsigned int k=0;
k<alct_h2_coll.size();++
k){
1133 sprintf(sign,
"%s%6i%5s %s %s %i",
"Line: ",
1134 alct_h1_coll[
k],sign1,alct_common,
1135 alct_common_bxn,alct_bxn_coll[k]);
1139 LogTrace(
"badData") <<
"||||||||||||||||||||";
1141 LogTrace(
"badData") << alct_t1_coll.size() <<
" "<< alct_common <<
" "<<alct_tr1 <<
" "<<
"found";
1142 for(
unsigned int k=0;
k<alct_t1_coll.size();++
k){
1143 sprintf(sign,
"%s%6i%5s %s %s %i %s %i",
"Line: ",
1144 alct_t1_coll[
k],sign1,alct_common,
1145 alct_common_wcnt1,alct_wcnt1_coll[k],alct_common_wcnt2,alct_wcnt2_coll[k]);
1151 LogTrace(
"badData") <<
"||||||||||||||||||||";
1153 LogTrace(
"badData") << tmb_h1_coll.size() <<
" "<< tmb_common <<
" "<<tmb_header1 <<
" "<<
"found";
1154 for(
unsigned int k=0;
k<tmb_h1_coll.size();++
k){
1155 sprintf(sign,
"%s%6i%5s %s %s %i",
"Line: ",
1156 tmb_h1_coll[
k],sign1,tmb_common,
1157 dmb_common_l1a,tmb_l1a_coll[k]);
1161 LogTrace(
"badData") <<
"||||||||||||||||||||";
1163 LogTrace(
"badData") << tmb_t1_coll.size() <<
" "<< tmb_common <<
" "<<tmb_tr1 <<
" "<<
"found";
1164 for(
unsigned int k=0;
k<tmb_t1_coll.size();++
k){
1165 sprintf(sign,
"%s%6i%5s %s %s %i %s %i",
"Line: ",
1166 tmb_t1_coll[
k],sign1,tmb_common,
1167 alct_common_wcnt1,tmb_wcnt1_coll[k],alct_common_wcnt2,tmb_wcnt2_coll[k]);
1172 LogTrace(
"badData") <<
"||||||||||||||||||||";
1174 LogTrace(
"badData") << cfeb_t1_coll.size() <<
" "<< cfeb_common <<
" "<<cfeb_tr1 <<
" "<<
"found";
1175 for(
unsigned int k=0;
k<cfeb_t1_coll.size();++
k)
1176 LogTrace(
"badData") <<
"Line: " << cfeb_t1_coll[
k];
1177 LogTrace(
"badData") <<
"********************************************************************************";
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past