Visualization of raw data in FED-less events (Robert Harr and Alexander Sakharov)
Visualization of raw data.
539 std::cout << std::endl << std::endl << std::endl;
540 std::cout <<
"Run: "<<
run <<
" Event: " <<
event << std::endl;
543 std::cout <<
"FED-" <<
id <<
" " <<
"(scroll down to see summary)" << std::endl;
545 std::cout <<
"Problem seems in FED-" <<
id <<
" " <<
"(scroll down to see summary)" << std::endl;
546 std::cout <<
"********************************************************************************" << std::endl;
547 std::cout << hl <<
" words of data:" << std::endl;
551 std::vector<int> dcc_id;
554 for (
int i=750;
i<758;
i++)
557 for (
int i=830;
i<838;
i++)
560 char dcc_common[]=
"DCC-";
564 std::vector<int> ddu_id;
566 for (
int i=1;
i<37;
i++)
569 char ddu_common[]=
"DDU-";
570 char ddu_header1[]=
"Header 1";
571 char ddu_header2[]=
"Header 2";
572 char ddu_header3[]=
"Header 3";
573 char ddu_trail1[]=
"Trailer 1", ddu_trail2[]=
"Trailer 2", ddu_trail3[]=
"Trailer 3";
575 char ddu_trailer1_bit[]={
'8',
'0',
'0',
'0',
'f',
'f',
'f',
'f',
'8',
'0',
'0',
'0',
'8',
'0',
'0',
'0'};
576 char ddu_trailer3_bit[]={
'a'};
578 char ddu_tr1_err_common[]=
"Incomplet";
582 char dmb_common[]=
"DMB", dmb_header1[]=
"Header 1", dmb_header2[]=
"Header 2";
583 char dmb_common_crate[]=
"crate:", dmb_common_slot[]=
"slot:";
584 char dmb_common_l1a[]=
"L1A:";
585 char dmb_header1_bit[]={
'9',
'9',
'9',
'9'};
586 char dmb_header2_bit[]={
'a',
'a',
'a',
'a'};
587 char dmb_tr1[]=
"Trailer 1", dmb_tr2[]=
"Trailer 2";
588 char dmb_tr1_bit[]={
'f',
'f',
'f',
'f'}, dmb_tr2_bit[]={
'e',
'e',
'e',
'e'};
594 char alct_common[]=
"ALCT", alct_header1[]=
"Header 1", alct_header2[]=
"Header 2";
595 char alct_common_bxn[]=
"BXN:";
596 char alct_common_wcnt2[]=
"| Actual word count:";
597 char alct_common_wcnt1[]=
"Expected word count:";
598 char alct_header1_bit[]={
'd',
'd',
'd',
'd',
'b',
'0',
'a'};
599 char alct_header2_bit[]={
'0',
'0',
'0',
'0'};
600 char alct_tr1[]=
"Trailer 1";
605 char tmb_common[]=
"TMB", tmb_header1[]=
"Header", tmb_tr1[]=
"Trailer";
606 char tmb_header1_bit[]={
'd',
'd',
'd',
'd',
'b',
'0',
'c'};
607 char tmb_tr1_bit[]={
'd',
'd',
'd',
'd',
'e',
'0',
'f'};
612 char cfeb_common[]=
"CFEB", cfeb_tr1[]=
"Trailer", cfeb_b[]=
"B-word";
613 char cfeb_common_sample[]=
"sample:";
623 char tempbuf_short[17];
624 char sign1[]=
" --->| ";
627 int word_numbering=0;
628 int ddu_inst_i=0, ddu_inst_n=0, ddu_inst_l1a=0;
630 int dmb_inst_crate=0, dmb_inst_slot=0, dmb_inst_l1a=0;
634 int alct_inst_wcnt1=0;
635 int alct_inst_wcnt2=0;
639 int tmb_inst_wcnt1=0;
640 int tmb_inst_wcnt2=0;
651 bool dcc_check=
false;
652 bool ddu_h2_check[sz1]={
false};
653 bool ddu_h1_check=
false;
654 bool dmb_h1_check[sz1]={
false};
655 bool dmb_h2_check[sz1]={
false};
656 bool ddu_h2_h1=
false;
657 bool ddu_tr1_check[sz1]={
false};
658 bool alct_h1_check[sz1]={
false};
659 bool alct_h2_check[sz1]={
false};
660 bool alct_tr1_check[sz1]={
false};
661 bool dmb_tr1_check[sz1]={
false};
662 bool dmb_tr2_check[sz1]={
false};
663 bool tmb_h1_check[sz1]={
false};
664 bool tmb_tr1_check[sz1]={
false};
665 bool cfeb_tr1_check[sz1]={
false};
666 bool cfeb_b_check[sz1]={
false};
667 bool ddu_tr1_bad_check[sz1]={
false};
668 bool extraction=fedshort;
672 std::vector<int> ddu_h1_coll;
673 std::vector<int> ddu_h1_n_coll;
674 std::vector<int> ddu_h2_coll;
675 std::vector<int> ddu_h3_coll;
676 std::vector<int> ddu_t1_coll;
677 std::vector<int> ddu_t2_coll;
678 std::vector<int> ddu_t3_coll;
679 std::vector<int> ddu_l1a_coll;
680 std::vector<int> ddu_bxn_coll;
682 std::vector<int> dmb_h1_coll;
683 std::vector<int> dmb_h2_coll;
684 std::vector<int> dmb_t1_coll;
685 std::vector<int> dmb_t2_coll;
686 std::vector<int> dmb_crate_coll;
687 std::vector<int> dmb_slot_coll;
688 std::vector<int> dmb_l1a_coll;
690 std::vector<int> alct_h1_coll;
691 std::vector<int> alct_h2_coll;
692 std::vector<int> alct_t1_coll;
693 std::vector<int> alct_l1a_coll;
694 std::vector<int> alct_bxn_coll;
695 std::vector<int> alct_wcnt1_coll;
696 std::vector<int> alct_wcnt2_coll;
697 std::vector<int> alct_wcnt2_id_coll;
699 std::vector<int> tmb_h1_coll;
700 std::vector<int> tmb_t1_coll;
701 std::vector<int> tmb_l1a_coll;
702 std::vector<int> tmb_wcnt1_coll;
703 std::vector<int> tmb_wcnt2_coll;
705 std::vector<int> cfeb_t1_coll;
710 char dcc_header1[]=
"DCC Header 1";
711 char dcc_header2[]=
"DCC Header 2";
712 char dcc_trail1[]=
"DCC Trailer 1", dcc_trail1_bit[]={
'e'};
713 char dcc_trail2[]=
"DCC Trailer 2", dcc_trail2_bit[]={
'a'};
716 for (
int i=0;
i < hl;
i++) {
718 for(
int j=-1;
j<4;
j++){
720 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)]);
723 ddu_h2_found++; ddu_h2_found--;
725 ddu_h2_check[
j]=((buf[
i+4*(
j-1)+1]==0x8000)&&
726 (buf[
i+4*(
j-1)+2]==0x0001)&&(buf[
i+4*(
j-1)+3]==0x8000));
728 ddu_tr1_check[
j]=((tempbuf_short[0]==ddu_trailer1_bit[0])&&(tempbuf_short[1]==ddu_trailer1_bit[1])&&
729 (tempbuf_short[2]==ddu_trailer1_bit[2])&&(tempbuf_short[3]==ddu_trailer1_bit[3])&&
730 (tempbuf_short[4]==ddu_trailer1_bit[4])&&(tempbuf_short[5]==ddu_trailer1_bit[5])&&
731 (tempbuf_short[6]==ddu_trailer1_bit[6])&&(tempbuf_short[7]==ddu_trailer1_bit[7])&&
732 (tempbuf_short[8]==ddu_trailer1_bit[8])&&(tempbuf_short[9]==ddu_trailer1_bit[9])&&
733 (tempbuf_short[10]==ddu_trailer1_bit[10])&&(tempbuf_short[11]==ddu_trailer1_bit[11])&&
734 (tempbuf_short[12]==ddu_trailer1_bit[12])&&(tempbuf_short[13]==ddu_trailer1_bit[13])&&
735 (tempbuf_short[14]==ddu_trailer1_bit[14])&&(tempbuf_short[15]==ddu_trailer1_bit[15]));
737 dmb_h1_check[
j]=((tempbuf_short[0]==dmb_header1_bit[0])&&(tempbuf_short[4]==dmb_header1_bit[1])&&
738 (tempbuf_short[8]==dmb_header1_bit[2])&&(tempbuf_short[12]==dmb_header1_bit[3]));
740 dmb_h2_check[
j]=((tempbuf_short[0]==dmb_header2_bit[0])&&(tempbuf_short[4]==dmb_header2_bit[1])&&
741 (tempbuf_short[8]==dmb_header2_bit[2])&&(tempbuf_short[12]==dmb_header2_bit[3]));
742 alct_h1_check[
j]=((tempbuf_short[0]==alct_header1_bit[0])&&(tempbuf_short[4]==alct_header1_bit[1])&&
743 (tempbuf_short[8]==alct_header1_bit[2])&&(tempbuf_short[12]==alct_header1_bit[3])&&
744 (tempbuf_short[13]==alct_header1_bit[4])&&(tempbuf_short[14]==alct_header1_bit[5])&&
745 (tempbuf_short[15]==alct_header1_bit[6]));
746 alct_h2_check[
j]=(((tempbuf_short[0]==alct_header2_bit[0])&&(tempbuf_short[1]==alct_header2_bit[1])&&
747 (tempbuf_short[2]==alct_header2_bit[2])&&(tempbuf_short[3]==alct_header2_bit[3]))||
748 ((tempbuf_short[4]==alct_header2_bit[0])&&(tempbuf_short[5]==alct_header2_bit[1])&&
749 (tempbuf_short[6]==alct_header2_bit[2])&&(tempbuf_short[7]==alct_header2_bit[3]))||
750 ((tempbuf_short[8]==alct_header2_bit[0])&&(tempbuf_short[9]==alct_header2_bit[1])&&
751 (tempbuf_short[10]==alct_header2_bit[2])&&(tempbuf_short[11]==alct_header2_bit[3]))||
752 ((tempbuf_short[12]==alct_header2_bit[0])&&(tempbuf_short[13]==alct_header2_bit[1])&&
753 (tempbuf_short[14]==alct_header2_bit[2])&&(tempbuf_short[15]==alct_header2_bit[3]))
757 alct_tr1_check[
j]=(((buf[
i+4*(
j-1)]&0xFFFF)==0xDE0D)&&((buf[
i+4*(
j-1)+1]&0xF800)==0xD000)&&
758 ((buf[
i+4*(
j-1)+2]&0xF800)==0xD000)&&((buf[
i+4*(
j-1)+3]&0xF000)==0xD000));
760 dmb_tr1_check[
j]=((tempbuf_short[0]==dmb_tr1_bit[0])&&(tempbuf_short[4]==dmb_tr1_bit[1])&&
761 (tempbuf_short[8]==dmb_tr1_bit[2])&&(tempbuf_short[12]==dmb_tr1_bit[3]));
762 dmb_tr2_check[
j]=((tempbuf_short[0]==dmb_tr2_bit[0])&&(tempbuf_short[4]==dmb_tr2_bit[1])&&
763 (tempbuf_short[8]==dmb_tr2_bit[2])&&(tempbuf_short[12]==dmb_tr2_bit[3]));
765 tmb_h1_check[
j]=((tempbuf_short[0]==tmb_header1_bit[0])&&(tempbuf_short[4]==tmb_header1_bit[1])&&
766 (tempbuf_short[8]==tmb_header1_bit[2])&&(tempbuf_short[12]==tmb_header1_bit[3])&&
767 (tempbuf_short[13]==tmb_header1_bit[4])&&(tempbuf_short[14]==tmb_header1_bit[5])&&
768 (tempbuf_short[15]==tmb_header1_bit[6]));
769 tmb_tr1_check[
j]=((tempbuf_short[0]==tmb_tr1_bit[0])&&(tempbuf_short[4]==tmb_tr1_bit[1])&&
770 (tempbuf_short[8]==tmb_tr1_bit[2])&&(tempbuf_short[12]==tmb_tr1_bit[3])&&
771 (tempbuf_short[13]==tmb_tr1_bit[4])&&(tempbuf_short[14]==tmb_tr1_bit[5])&&
772 (tempbuf_short[15]==tmb_tr1_bit[6]));
774 cfeb_tr1_check[
j]=(((buf[
i+4*(
j-1)+1]&0xF000)==0x7000) &&
775 ((buf[
i+4*(
j-1)+2]&0xF000)==0x7000) &&
776 (( buf[
i+4*(
j-1)+1]!= 0x7FFF) || (buf[
i+4*(
j-1)+2] != 0x7FFF)) &&
777 ((buf[
i+4*(
j-1)+3] == 0x7FFF) ||
778 ((buf[
i+4*(
j-1)+3]&buf[
i+4*(
j-1)]) == 0x0&&(buf[
i+4*(
j-1)+3] + buf[
i+4*(
j-1)] == 0x7FFF ))) );
779 cfeb_b_check[
j]=(((buf[
i+4*(
j-1)+3]&0xF000)==0xB000)&&((buf[
i+4*(
j-1)+2]&0xF000)==0xB000) &&
780 ((buf[
i+4*(
j-1)+1]&0xF000)==0xB000)&&((buf[
i+4*(
j-1)]=3&0xF000)==0xB000) );
782 ddu_tr1_bad_check[
j]=((tempbuf_short[0]!=ddu_trailer1_bit[0])&&
785 (tempbuf_short[4]!=ddu_trailer1_bit[4])&&
788 (tempbuf_short[8]==ddu_trailer1_bit[8])&&(tempbuf_short[9]==ddu_trailer1_bit[9])&&
789 (tempbuf_short[10]==ddu_trailer1_bit[10])&&(tempbuf_short[11]==ddu_trailer1_bit[11])&&
790 (tempbuf_short[12]==ddu_trailer1_bit[12])&&(tempbuf_short[13]==ddu_trailer1_bit[13])&&
791 (tempbuf_short[14]==ddu_trailer1_bit[14])&&(tempbuf_short[15]==ddu_trailer1_bit[15]));
795 ddu_h2_h1=ddu_h2_check[2];
797 sprintf(tempbuf_short,
"%04x%04x%04x%04x",buf[
i+3],buf[
i+2],buf[
i+1],buf[
i]);
800 ddu_h1_12_13=(buf[
i]>>8);
801 for (
int kk=0;
kk<36;
kk++){
802 if(((buf[
i+3]&0xF000)==0x5000)&&(ddu_h1_12_13==ddu_id[
kk])&&ddu_h2_h1){
803 ddu_h1_coll.push_back(word_numbering); ddu_h1_n_coll.push_back(ddu_id[
kk]);
804 ddu_inst_l1a=((buf[
i+2]&0xFFFF)+((buf[
i+3]&0x00FF)<<16));
805 ddu_l1a_coll.push_back(ddu_inst_l1a);
806 ddu_inst_bxn=(buf[
i+1]&0xFFF0)>>4;
807 ddu_bxn_coll.push_back(ddu_inst_bxn);
808 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s%i %s%s %s %i %s %i",
809 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
810 sign1,ddu_common,ddu_id[kk],ddu_header1,sign1,dmb_common_l1a,ddu_inst_l1a,alct_common_bxn,ddu_inst_bxn);
811 std::cout << tempbuf1 << std::endl; w=0; ddu_h1_check=
true; ddu_inst_l1a=0;
819 dcc_h1_id=(((buf[
i+1]<<12)&0xF000)>>4)+(buf[
i]>>8);
820 for(
int dcci=0;dcci<16;dcci++){
821 if((dcc_id[dcci]==dcc_h1_id)&&(((buf[
i+3]&0xF000)==0x5000)&&(!ddu_h1_check))){
822 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s%i %s",word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
823 sign1,dcc_common,dcc_h1_id,dcc_header1); dcc_h1_check=word_numbering; w=0;
830 if(((word_numbering-1)==dcc_h1_check)&&((buf[
i+3]&0xFF00)==0xD900)) {
831 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s",word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
835 else if((word_numbering==word_lines-1)&&(tempbuf_short[0]==dcc_trail1_bit[0])){
836 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s",word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
840 else if((word_numbering==word_lines)&&(tempbuf_short[0]==dcc_trail2_bit[0])){
841 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s",word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
847 else if(ddu_h2_check[1]){
848 ddu_inst_i = ddu_h1_n_coll.size();
850 ddu_inst_n=ddu_h1_n_coll[ddu_inst_i-1];
852 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s%i %s",
853 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],sign1,ddu_common,
854 ddu_inst_n, ddu_header2);
855 ddu_h2_coll.push_back(word_numbering);
861 else if((ddu_h2_check[0]&&dmb_h1_check[2])||(ddu_h2_check[0]&&ddu_tr1_check[2])){
862 ddu_inst_i = ddu_h1_n_coll.size();
864 ddu_inst_n=ddu_h1_n_coll[ddu_inst_i-1];
866 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s%i %s",word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
867 sign1,ddu_common,ddu_inst_n,ddu_header3);
868 ddu_h3_coll.push_back(word_numbering);
875 else if(dmb_h1_check[1]){
876 dmb_inst_crate=0; dmb_inst_slot=0; dmb_inst_l1a=0;
877 dmb_inst_l1a=((buf[
i]&0x0FFF)+((buf[
i+1]&0xFFF)<<12));
878 dmb_l1a_coll.push_back(dmb_inst_l1a);
880 dmb_inst_crate=((buf[
i+4+1]>>4)&0xFF); dmb_inst_slot=(buf[
i+4+1]&0xF);
881 dmb_crate_coll.push_back(dmb_inst_crate); dmb_slot_coll.push_back(dmb_inst_slot);
883 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s%s%s %i %s %i %s %i",
884 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
885 sign1,dmb_common,dmb_header1,sign1,dmb_common_crate,dmb_inst_crate,
886 dmb_common_slot,dmb_inst_slot,dmb_common_l1a,dmb_inst_l1a);
887 dmb_h1_coll.push_back(word_numbering);
892 else if(dmb_h2_check[1]){
893 dmb_inst_crate=((buf[
i+1]>>4)&0xFF); dmb_inst_slot=(buf[
i+1]&0xF);
894 dmb_h2_coll.push_back(word_numbering);
896 dmb_inst_l1a=((buf[
i-4]&0x0FFF)+((buf[
i-4+1]&0xFFF)<<12));
897 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s%s%s %i %s %i %s %i",
898 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
899 sign1,dmb_common,dmb_header2,sign1,dmb_common_crate,dmb_inst_crate,
900 dmb_common_slot,dmb_inst_slot,dmb_common_l1a,dmb_inst_l1a);
907 else if(ddu_tr1_check[1]){
908 ddu_inst_i = ddu_h1_n_coll.size();
910 ddu_inst_n=ddu_h1_n_coll[ddu_inst_i-1];
913 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s%i %s",
914 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],sign1,ddu_common,ddu_inst_n,ddu_trail1);
915 ddu_t1_coll.push_back(word_numbering);
920 else if(alct_h1_check[1]){
921 alct_start=word_numbering;
922 alct_inst_l1a=(buf[
i+2]&0x0FFF);
923 alct_l1a_coll.push_back(alct_inst_l1a);
924 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s%s %s %i",
925 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
926 sign1,alct_common,alct_header1,sign1,dmb_common_l1a,alct_inst_l1a);
927 alct_h1_coll.push_back(word_numbering);
928 std::cout << tempbuf1 << std::endl; w=0; alct_inst_l1a=0;
931 else if((alct_h1_check[0])&&(alct_h2_check[2])) {
932 alct_inst_bxn=(buf[
i]&0x0FFF);
933 alct_bxn_coll.push_back(alct_inst_bxn);
934 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s%s%s %i",
935 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
936 sign1,alct_common,alct_header2,sign1,alct_common_bxn,alct_inst_bxn);
937 alct_h2_coll.push_back(word_numbering);
938 std::cout << tempbuf1 << std::endl; w=0; alct_inst_bxn=0;
942 else if(alct_tr1_check[1]){
943 alct_stop=word_numbering;
944 if((alct_start!=0)&&(alct_stop!=0)&&(alct_stop>alct_start)) {
945 alct_inst_wcnt2=4*(alct_stop-alct_start+1);
946 alct_wcnt2_coll.push_back(alct_inst_wcnt2);
947 alct_wcnt2_id_coll.push_back(alct_start);
949 alct_inst_wcnt1=(buf[
i+3]&0x7FF);
950 alct_wcnt1_coll.push_back(alct_inst_wcnt1);
951 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s%s%s %i %s %i",
952 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
953 sign1,alct_common,alct_tr1,sign1,alct_common_wcnt1,alct_inst_wcnt1,
954 alct_common_wcnt2,alct_inst_wcnt2);
955 alct_t1_coll.push_back(word_numbering);
956 std::cout << tempbuf1 << std::endl; w=0; alct_inst_wcnt1=0;
961 else if((ddu_tr1_check[-1])&&(tempbuf_short[0]==ddu_trailer3_bit[0])){
963 ddu_inst_i = ddu_h1_n_coll.size();
965 ddu_inst_n=ddu_h1_n_coll[ddu_inst_i-1];
968 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s%i %s",
969 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],sign1,ddu_common,ddu_inst_n,ddu_trail3);
970 ddu_t3_coll.push_back(word_numbering);
974 else if((ddu_tr1_check[0])&&(tempbuf_short[0]!=ddu_trailer3_bit[0])){
976 ddu_inst_i = ddu_h1_n_coll.size();
978 ddu_inst_n=ddu_h1_n_coll[ddu_inst_i-1];
981 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s%i %s",
982 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],sign1,ddu_common,ddu_inst_n,ddu_trail2);
983 ddu_t2_coll.push_back(word_numbering);
988 else if(dmb_tr1_check[1]){
989 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s",
990 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],sign1,dmb_common,dmb_tr1);
991 dmb_t1_coll.push_back(word_numbering);
996 else if(dmb_tr2_check[1]){
997 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s",
998 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],sign1,dmb_common,dmb_tr2);
999 dmb_t2_coll.push_back(word_numbering);
1000 std::cout << tempbuf1 << std::endl; w=0;
1003 else if(tmb_h1_check[1]){
1004 tmb_start=word_numbering;
1005 tmb_inst_l1a=(buf[
i+2]&0x000F);
1006 tmb_l1a_coll.push_back(tmb_inst_l1a);
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],sign1,tmb_common,tmb_header1,
1009 sign1,dmb_common_l1a,tmb_inst_l1a);
1010 tmb_h1_coll.push_back(word_numbering);
1011 std::cout << tempbuf1 << std::endl; w=0; tmb_inst_l1a=0;
1013 else if(tmb_tr1_check[1]){
1014 tmb_stop=word_numbering;
1015 if((tmb_start!=0)&&(tmb_stop!=0)&&(tmb_stop>tmb_start)) {
1016 tmb_inst_wcnt2=4*(tmb_stop-tmb_start+1);
1017 tmb_wcnt2_coll.push_back(tmb_inst_wcnt2);
1019 tmb_inst_wcnt1=(buf[
i+3]&0x7FF);
1020 tmb_wcnt1_coll.push_back(tmb_inst_wcnt1);
1021 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s%s%s %i %s %i",
1022 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
1023 sign1,tmb_common,tmb_tr1,sign1,alct_common_wcnt1,tmb_inst_wcnt1,
1024 alct_common_wcnt2,tmb_inst_wcnt2);
1025 tmb_t1_coll.push_back(word_numbering);
1026 std::cout << tempbuf1 << std::endl; w=0;
1030 else if(cfeb_tr1_check[1]){
1032 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s%s %s %i",
1033 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],
1034 sign1,cfeb_common,cfeb_tr1,sign1,cfeb_common_sample,cfeb_sample);
1035 cfeb_t1_coll.push_back(word_numbering); w=0;
1036 std::cout << tempbuf1 << std::endl; w=0;
1038 else if(cfeb_b_check[1]){
1039 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s %s",
1040 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],sign1,cfeb_common,cfeb_b);
1041 std::cout << tempbuf1 << std::endl; w=0;
1046 else if(ddu_tr1_bad_check[1]){
1047 ddu_inst_i = ddu_h1_n_coll.size(); ddu_inst_n=ddu_h1_n_coll[ddu_inst_i-1];
1048 sprintf(tempbuf1,
"%6i %04x %04x %04x %04x%s%s%i %s %s",
1049 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i],sign1,ddu_common,ddu_inst_n,
1050 ddu_trail1,ddu_tr1_err_common);
1051 std::cout << tempbuf1 << std::endl; w=0;
1054 else if(extraction&&(!ddu_h1_check)&&(!dcc_check)){
1056 sprintf(tempbuf,
"%6i %04x %04x %04x %04x",
1057 word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i]);
1058 std::cout << tempbuf << std::endl; w++;}
1060 std::cout <<
"..................................................." << std::endl; w++;}
1063 else if((!ddu_h1_check)&&(!dcc_check)){
1064 sprintf(tempbuf,
"%6i %04x %04x %04x %04x",word_numbering,buf[
i+3],buf[
i+2],buf[
i+1],buf[
i]);
1068 i+=3; ddu_h1_check=
false; dcc_check=
false;
1071 std::cout <<
"********************************************************************************" <<
1072 std::endl << std::endl;
1074 std::cout <<
"For complete output turn off VisualFEDShort in muonCSCDigis configuration file." << std::endl;
1075 std::cout <<
"********************************************************************************" <<
1076 std::endl << std::endl;
1080 std::cout << ddu_h1_coll.size() <<
" "<< ddu_common <<
" "<<ddu_header1 <<
" "<<
"found" << std::endl;
1085 for(
unsigned int k=0;
k<ddu_h1_coll.size();++
k){
1091 std::cout <<
"Line: " <<
" " << ddu_h1_coll[
k] <<
" " << sign1 <<
" " <<
1092 ddu_common <<
" " << ddu_h1_n_coll[
k] <<
" " << dmb_common_l1a <<
" " << ddu_l1a_coll[
k] <<
" " <<
1093 alct_common_bxn <<
" " << ddu_bxn_coll[
k] << std::endl;
1098 std::cout <<
"||||||||||||||||||||" << std::endl;
1100 std::cout << ddu_h2_coll.size() <<
" "<< ddu_common <<
" "<<ddu_header2 <<
" "<<
"found" << std::endl;
1101 for(
unsigned int k=0;
k<ddu_h2_coll.size();++
k)
1102 std::cout <<
"Line: " << ddu_h2_coll[
k] << std::endl;
1104 std::cout <<
"||||||||||||||||||||" << std::endl;
1106 std::cout << ddu_h3_coll.size() <<
" "<< ddu_common <<
" "<<ddu_header3 <<
" "<<
"found" << std::endl;
1107 for(
unsigned int k=0;
k<ddu_h3_coll.size();++
k)
1108 std::cout <<
"Line: " << ddu_h3_coll[
k] << std::endl;
1110 std::cout <<
"||||||||||||||||||||" << std::endl;
1112 std::cout << ddu_t1_coll.size() <<
" "<< ddu_common <<
" "<<ddu_trail1 <<
" "<<
"found" << std::endl;
1113 for(
unsigned int k=0;
k<ddu_t1_coll.size();++
k)
1114 std::cout <<
"Line: " << ddu_t1_coll[
k] << std::endl;
1116 std::cout <<
"||||||||||||||||||||" << std::endl;
1118 std::cout << ddu_t2_coll.size() <<
" "<< ddu_common <<
" "<<ddu_trail2 <<
" "<<
"found" << std::endl;
1119 for(
unsigned int k=0;
k<ddu_t2_coll.size();++
k)
1120 std::cout <<
"Line: " << ddu_t2_coll[
k] << std::endl;
1122 std::cout <<
"||||||||||||||||||||" << std::endl;
1124 std::cout << ddu_t3_coll.size() <<
" "<< ddu_common <<
" "<<ddu_trail3 <<
" "<<
"found" << std::endl;
1125 for(
unsigned int k=0;
k<ddu_t3_coll.size();++
k)
1126 std::cout <<
"Line: " << ddu_t3_coll[
k] << std::endl;
1128 std::cout <<
"||||||||||||||||||||" << std::endl;
1130 std::cout << dmb_h1_coll.size() <<
" "<< dmb_common <<
" "<<dmb_header1 <<
" "<<
"found" << std::endl;
1132 for(
unsigned int k=0;
k<dmb_h1_coll.size();++
k){
1138 std::cout <<
"Line: " <<
" " << dmb_h1_coll[
k] <<
" " << sign1 << dmb_common
1139 <<
" " << dmb_common_crate <<
" " << dmb_crate_coll[
k] <<
" " << dmb_common_slot <<
" " <<
1140 dmb_slot_coll[
k] <<
" " << dmb_common_l1a <<
" " << dmb_l1a_coll[
k] << std::endl;
1143 std::cout <<
"||||||||||||||||||||" << std::endl;
1145 std::cout << dmb_h2_coll.size() <<
" "<< dmb_common <<
" "<<dmb_header2 <<
" "<<
"found" << std::endl;
1146 for(
unsigned int k=0;
k<dmb_h2_coll.size();++
k)
1147 std::cout <<
"Line: " << dmb_h2_coll[
k] << std::endl;
1149 std::cout <<
"||||||||||||||||||||" << std::endl;
1151 std::cout << dmb_t1_coll.size() <<
" "<< dmb_common <<
" "<<dmb_tr1 <<
" "<<
"found" << std::endl;
1152 for(
unsigned int k=0;
k<dmb_t1_coll.size();++
k)
1153 std::cout <<
"Line: " << dmb_t1_coll[
k] << std::endl;
1155 std::cout <<
"||||||||||||||||||||" << std::endl;
1157 std::cout << dmb_t2_coll.size() <<
" "<< dmb_common <<
" "<<dmb_tr2 <<
" "<<
"found" << std::endl;
1158 for(
unsigned int k=0;
k<dmb_t2_coll.size();++
k)
1159 std::cout <<
"Line: " << dmb_t2_coll[
k] << std::endl;
1161 std::cout <<
"||||||||||||||||||||" << std::endl;
1163 std::cout << alct_h1_coll.size() <<
" "<< alct_common <<
" "<<alct_header1 <<
" "<<
"found" << std::endl;
1164 for(
unsigned int k=0;
k<alct_h1_coll.size();++
k){
1172 alct_h1_coll[
k] <<
" " << sign1 <<
" " << alct_common <<
" " <<
1173 dmb_common_l1a <<
" " << alct_l1a_coll[
k] << std::endl;
1177 std::cout <<
"||||||||||||||||||||" << std::endl;
1179 std::cout << alct_h2_coll.size() <<
" "<< alct_common <<
" "<<alct_header2 <<
" "<<
"found" << std::endl;
1180 for(
unsigned int k=0;
k<alct_h2_coll.size();++
k){
1188 alct_h1_coll[
k] <<
" " << sign1 <<
" " << alct_common <<
" " <<
1189 alct_common_bxn <<
" " << alct_bxn_coll[
k] << std::endl;
1193 std::cout <<
"||||||||||||||||||||" << std::endl;
1195 std::cout << alct_t1_coll.size() <<
" "<< alct_common <<
" "<<alct_tr1 <<
" "<<
"found" << std::endl;
1196 for(
unsigned int k=0;
k<alct_t1_coll.size();++
k){
1203 std::cout <<
"Line: " <<
" " << alct_t1_coll[
k] <<
" " << sign1 <<
" " << alct_common <<
" " <<
1204 alct_common_wcnt1 <<
" " << alct_wcnt1_coll[
k] <<
" " << alct_common_wcnt2 <<
" ";
1205 if(alct_wcnt2_coll.size()>0){
1206 std::cout << alct_wcnt2_coll[
k] << std::endl;}
1208 std::cout <<
"Undefined (ALCT Header is not found) " << std::endl;}
1212 std::cout <<
"||||||||||||||||||||" << std::endl;
1214 std::cout << tmb_h1_coll.size() <<
" "<< tmb_common <<
" "<<tmb_header1 <<
" "<<
"found" << std::endl;
1215 for(
unsigned int k=0;
k<tmb_h1_coll.size();++
k){
1222 std::cout <<
"Line: " <<
" " << tmb_h1_coll[
k] <<
" " << sign1 <<
" " << tmb_common <<
" " <<
1223 dmb_common_l1a <<
" " << tmb_l1a_coll[
k] << std::endl;
1227 std::cout <<
"||||||||||||||||||||" << std::endl;
1229 std::cout << tmb_t1_coll.size() <<
" "<< tmb_common <<
" "<<tmb_tr1 <<
" "<<
"found" << std::endl;
1230 for(
unsigned int k=0;
k<tmb_t1_coll.size();++
k){
1237 std::cout <<
"Line: " <<
" " << tmb_t1_coll[
k] <<
" " << sign1 <<
" " << tmb_common <<
" " <<
1238 alct_common_wcnt1 <<
" " << tmb_wcnt1_coll[
k] <<
" " << alct_common_wcnt2 <<
" " << tmb_wcnt2_coll[
k]
1244 std::cout <<
"||||||||||||||||||||" << std::endl;
1246 std::cout << cfeb_t1_coll.size() <<
" "<< cfeb_common <<
" "<<cfeb_tr1 <<
" "<<
"found" << std::endl;
1247 for(
unsigned int k=0;
k<cfeb_t1_coll.size();++
k)
1248 std::cout <<
"Line: " << cfeb_t1_coll[
k] << std::endl;
1249 std::cout <<
"********************************************************************************" << std::endl;