/[PAMELA software]/eventviewer/flight/src/FEVdetector.cpp
ViewVC logotype

Diff of /eventviewer/flight/src/FEVdetector.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.21 by mocchiut, Thu Nov 8 11:05:34 2007 UTC revision 1.29 by mocchiut, Tue Aug 11 13:03:42 2009 UTC
# Line 97  FEVdetector::FEVdetector(TString filenam Line 97  FEVdetector::FEVdetector(TString filenam
97    var.showac = false;    var.showac = false;
98  }  }
99    
100    void FEVdetector::Reset(){
101      L2 = NULL;
102    }
103    
104  void FEVdetector::checkctrlword(){  void FEVdetector::checkctrlword(){
105    var.SHOWDEC = 0;    var.SHOWDEC = 0;
106    var.TOF = 0;    var.TOF = 0;
# Line 206  void FEVdetector::ClearVariables(){ Line 210  void FEVdetector::ClearVariables(){
210  void FEVdetector::GetEntry(Int_t i){  void FEVdetector::GetEntry(Int_t i){
211    thisentry = i;      thisentry = i;  
212    if ( level.file == 2 ){    if ( level.file == 2 ){
213      L2->Clear();      //    L2->Clear();
214      //    printf("qui\n");      //    printf("qui\n");
215      L2->GetEntry(i);      L2->GetEntry(i);
216      if ( var.showall ){      if ( var.showall ){
# Line 394  void FEVdetector::ShowInfo(TString detec Line 398  void FEVdetector::ShowInfo(TString detec
398    Int_t dlen = 10;    Int_t dlen = 10;
399    //    //
400    char o[200000];    char o[200000];
401      char zz[200000];
402    char col[13];    char col[13];
403    char col2[13];    char col2[13];
404    //    //
405    setcolor(col,RESET, GREEN, WHITE);    setcolor(col,RESET, GREEN, WHITE);
406    sprintf(o,"%s======> EVENT:%i\n",col, thisentry);    sprintf(o,"%s======> EVENT:%i\n",col, thisentry);
407      sprintf(zz,"======> EVENT:%i\n", thisentry);
408    //    //
409    setcolor(col,RESET, RED, WHITE);    setcolor(col,RESET, RED, WHITE);
410    sprintf(o,"%s%sBranch %s\n",o,col,b1->GetName());    sprintf(o,"%s%sBranch %s\n",o,col,b1->GetName());
411      sprintf(zz,"%sBranch %s\n",zz,b1->GetName());
412    setcolor(col,RESET, BLACK, WHITE);    setcolor(col,RESET, BLACK, WHITE);
413    sprintf(o,"%s%s",o,col);    sprintf(o,"%s%s",o,col);
414    //    //
# Line 429  void FEVdetector::ShowInfo(TString detec Line 436  void FEVdetector::ShowInfo(TString detec
436        setcolor(col,RESET, BLUE, WHITE);        setcolor(col,RESET, BLUE, WHITE);
437        setcolor(col2,RESET, BLACK, WHITE);        setcolor(col2,RESET, BLACK, WHITE);
438        sprintf(o,"%s%s %-15s%s =",o,col,((TBranch*)branch_array->At(l))->GetName(),col2);        sprintf(o,"%s%s %-15s%s =",o,col,((TBranch*)branch_array->At(l))->GetName(),col2);
439          sprintf(zz,"%s %-15s =",zz,((TBranch*)branch_array->At(l))->GetName());
440        //        //
441        j = 0;        j = 0;
442        //        //
# Line 441  void FEVdetector::ShowInfo(TString detec Line 449  void FEVdetector::ShowInfo(TString detec
449          while ( j < length ){          while ( j < length ){
450            if ( j < length -1 ){            if ( j < length -1 ){
451              sprintf(o,"%s %i ,",o,(Int_t)tb->GetValue(j,0));              sprintf(o,"%s %i ,",o,(Int_t)tb->GetValue(j,0));
452                sprintf(zz,"%s %i ,",zz,(Int_t)tb->GetValue(j,0));
453            } else {            } else {
454              sprintf(o,"%s %i",o,(Int_t)tb->GetValue(j,0));              sprintf(o,"%s %i",o,(Int_t)tb->GetValue(j,0));
455                sprintf(zz,"%s %i",zz,(Int_t)tb->GetValue(j,0));
456            };            };
457            j++;            j++;
458          };          };
# Line 454  void FEVdetector::ShowInfo(TString detec Line 464  void FEVdetector::ShowInfo(TString detec
464          while ( j < length ){          while ( j < length ){
465            if ( j < length -1 ){            if ( j < length -1 ){
466              sprintf(o,"%s %u ,",o,(UInt_t)tb->GetValue(j,0));              sprintf(o,"%s %u ,",o,(UInt_t)tb->GetValue(j,0));
467                sprintf(zz,"%s %u ,",zz,(UInt_t)tb->GetValue(j,0));
468            } else {            } else {
469              sprintf(o,"%s %u",o,(UInt_t)tb->GetValue(j,0));              sprintf(o,"%s %u",o,(UInt_t)tb->GetValue(j,0));
470                sprintf(zz,"%s %u",zz,(UInt_t)tb->GetValue(j,0));
471            };            };
472            j++;            j++;
473          };          };
# Line 467  void FEVdetector::ShowInfo(TString detec Line 479  void FEVdetector::ShowInfo(TString detec
479          while ( j < length ){          while ( j < length ){
480            if ( j < length -1 ){            if ( j < length -1 ){
481              sprintf(o,"%s %f ,",o,tb->GetValue(j,0));              sprintf(o,"%s %f ,",o,tb->GetValue(j,0));
482                sprintf(zz,"%s %f ,",zz,tb->GetValue(j,0));
483            } else {            } else {
484              sprintf(o,"%s %f",o,tb->GetValue(j,0));              sprintf(o,"%s %f",o,tb->GetValue(j,0));
485                sprintf(zz,"%s %f",zz,tb->GetValue(j,0));
486            };            };
487            j++;            j++;
488          };          };
# Line 503  void FEVdetector::ShowInfo(TString detec Line 517  void FEVdetector::ShowInfo(TString detec
517  //        printf("ciao %s \n",pr->Data());  //        printf("ciao %s \n",pr->Data());
518  //      };  //      };
519          sprintf(o,"%s TString - not implemented yet -",o);          sprintf(o,"%s TString - not implemented yet -",o);
520            sprintf(zz,"%s TString - not implemented yet -",zz);
521        };        };
522        //        //
523        // TArray        // TArray
# Line 603  void FEVdetector::ShowInfo(TString detec Line 618  void FEVdetector::ShowInfo(TString detec
618  //      sprintf(o,"%s\n",o);  //      sprintf(o,"%s\n",o);
619          //                //      
620          sprintf(o,"%s TArray - not implemented yet -",o);          sprintf(o,"%s TArray - not implemented yet -",o);
621            sprintf(zz,"%s TArray - not implemented yet -",zz);
622          //          //
623        };        };
624        //        //
625        sprintf(o,"%s\n",o);        sprintf(o,"%s\n",o);
626          sprintf(zz,"%s\n",zz);
627        break;        break;
628      case 3:      case 3:
629        //        //
# Line 615  void FEVdetector::ShowInfo(TString detec Line 632  void FEVdetector::ShowInfo(TString detec
632        setcolor(col,RESET, BLUE, WHITE);        setcolor(col,RESET, BLUE, WHITE);
633        setcolor(col2,RESET, BLACK, WHITE);        setcolor(col2,RESET, BLACK, WHITE);
634        sprintf(o,"%s%s %-15s%s = %d\n",o,col,tb->GetName(), col2, tb->GetNdata());        sprintf(o,"%s%s %-15s%s = %d\n",o,col,tb->GetName(), col2, tb->GetNdata());
635          sprintf(zz,"%s %-15s = %d\n",zz,tb->GetName(), tb->GetNdata());
636    
637        //        //
638        if ( tb->GetNdata() ){        if ( tb->GetNdata() ){
# Line 665  void FEVdetector::ShowInfo(TString detec Line 683  void FEVdetector::ShowInfo(TString detec
683                  setcolor(col,RESET, BLUE, WHITE);                  setcolor(col,RESET, BLUE, WHITE);
684                  setcolor(col2,RESET, BLACK, WHITE);                  setcolor(col2,RESET, BLACK, WHITE);
685                  sprintf(o,"%s%s %-15s%s = ",o,col,foglia->GetName(),col2);                  sprintf(o,"%s%s %-15s%s = ",o,col,foglia->GetName(),col2);
686                    sprintf(zz,"%s %-15s = ",zz,foglia->GetName());
687                  while ( j < cl->GetEntriesFast() ){                  while ( j < cl->GetEntriesFast() ){
688                    if ( j < cl->GetEntriesFast() -1 ){                    if ( j < cl->GetEntriesFast() -1 ){
689                      sprintf(o,"%s %i ,",o,(Int_t)stb->GetValue(j,slength));                      sprintf(o,"%s %i ,",o,(Int_t)stb->GetValue(j,slength));
690                        sprintf(zz,"%s %i ,",zz,(Int_t)stb->GetValue(j,slength));
691                    } else {                    } else {
692                      sprintf(o,"%s %i",o,(Int_t)stb->GetValue(j,slength));                      sprintf(o,"%s %i",o,(Int_t)stb->GetValue(j,slength));
693                        sprintf(zz,"%s %i",zz,(Int_t)stb->GetValue(j,slength));
694                    };                    };
695                    j++;                    j++;
696                  };                  };
# Line 682  void FEVdetector::ShowInfo(TString detec Line 703  void FEVdetector::ShowInfo(TString detec
703                  setcolor(col,RESET, BLUE, WHITE);                  setcolor(col,RESET, BLUE, WHITE);
704                  setcolor(col2,RESET, BLACK, WHITE);                  setcolor(col2,RESET, BLACK, WHITE);
705                  sprintf(o,"%s%s %-15s%s = ",o,col,foglia->GetName(),col2);                  sprintf(o,"%s%s %-15s%s = ",o,col,foglia->GetName(),col2);
706                    sprintf(zz,"%s %-15s = ",zz,foglia->GetName());
707                  while ( j < cl->GetEntriesFast() ){                  while ( j < cl->GetEntriesFast() ){
708                    if ( j < cl->GetEntriesFast() -1 ){                    if ( j < cl->GetEntriesFast() -1 ){
709                      sprintf(o,"%s %f ,",o,stb->GetValue(j,slength));                      sprintf(o,"%s %f ,",o,stb->GetValue(j,slength));
710                        sprintf(zz,"%s %f ,",zz,stb->GetValue(j,slength));
711                    } else {                    } else {
712                      sprintf(o,"%s %f",o,stb->GetValue(j,slength));                      sprintf(o,"%s %f",o,stb->GetValue(j,slength));
713                        sprintf(zz,"%s %f",zz,stb->GetValue(j,slength));
714                    };                    };
715                    j++;                    j++;
716                  };                  };
# Line 699  void FEVdetector::ShowInfo(TString detec Line 723  void FEVdetector::ShowInfo(TString detec
723                  setcolor(col,RESET, BLUE, WHITE);                  setcolor(col,RESET, BLUE, WHITE);
724                  setcolor(col2,RESET, BLACK, WHITE);                  setcolor(col2,RESET, BLACK, WHITE);
725                  sprintf(o,"%s%s %-15s%s = ",o,col,foglia->GetName(),col2);                  sprintf(o,"%s%s %-15s%s = ",o,col,foglia->GetName(),col2);
726                    sprintf(zz,"%s %-15s = ",zz,foglia->GetName());
727                  Bool_t bold = true;                  Bool_t bold = true;
728                  while ( j < tb->GetNdata() ){                  while ( j < tb->GetNdata() ){
729                    if ( bold ){                    if ( bold ){
# Line 712  void FEVdetector::ShowInfo(TString detec Line 737  void FEVdetector::ShowInfo(TString detec
737                    while ( jj < slength ){                                      while ( jj < slength ){                  
738                      if ( jj < slength-1 ){                      if ( jj < slength-1 ){
739                        sprintf(o,"%s %f ,",o,stb->GetValue(j,jj,true));                        sprintf(o,"%s %f ,",o,stb->GetValue(j,jj,true));
740                          sprintf(zz,"%s %f ,",zz,stb->GetValue(j,jj,true));
741                      } else {                      } else {
742                        sprintf(o,"%s %f",o,stb->GetValue(j,jj,true));                        sprintf(o,"%s %f",o,stb->GetValue(j,jj,true));
743                          sprintf(zz,"%s %f",zz,stb->GetValue(j,jj,true));
744                      };                      };
745                      jj++;                      jj++;
746                    };                    };
747                    if ( j < tb->GetNdata() -1 ) sprintf(o,"%s ,",o);                    if ( j < tb->GetNdata() -1 ) sprintf(o,"%s ,",o);
748                      if ( j < tb->GetNdata() -1 ) sprintf(zz,"%s ,",zz);
749                    if ( !bold ){                    if ( !bold ){
750                      bold = true;                      bold = true;
751                    } else {                    } else {
# Line 738  void FEVdetector::ShowInfo(TString detec Line 766  void FEVdetector::ShowInfo(TString detec
766                  setcolor(col,RESET, BLUE, WHITE);                  setcolor(col,RESET, BLUE, WHITE);
767                  setcolor(col2,RESET, BLACK, WHITE);                  setcolor(col2,RESET, BLACK, WHITE);
768                  sprintf(o,"%s%s %-15s%s = ",o,col,foglia->GetName(),col2);                  sprintf(o,"%s%s %-15s%s = ",o,col,foglia->GetName(),col2);
769                    sprintf(zz,"%s %-15s = ",zz,foglia->GetName());
770                  while ( j < tb->GetNdata() ){                  while ( j < tb->GetNdata() ){
771                    Int_t jj = 0;                    Int_t jj = 0;
772                    while ( jj < slength ){                    while ( jj < slength ){
773                      if ( jj < slength-1 ){                      if ( jj < slength-1 ){
774                        sprintf(o,"%s %i ,",o,(Int_t)stb->GetValue(j,jj,true));                        sprintf(o,"%s %i ,",o,(Int_t)stb->GetValue(j,jj,true));
775                          sprintf(zz,"%s %i ,",zz,(Int_t)stb->GetValue(j,jj,true));
776                      } else {                      } else {
777                        sprintf(o,"%s %i",o,(Int_t)stb->GetValue(j,jj,true));                        sprintf(o,"%s %i",o,(Int_t)stb->GetValue(j,jj,true));
778                          sprintf(zz,"%s %i",zz,(Int_t)stb->GetValue(j,jj,true));
779                      };                      };
780                      jj++;                      jj++;
781                    };                    };
782                    if ( j < tb->GetNdata() -1 ) sprintf(o,"%s ,",o);                    if ( j < tb->GetNdata() -1 ) sprintf(o,"%s ,",o);
783                      if ( j < tb->GetNdata() -1 ) sprintf(zz,"%s ,",zz);
784                    j++;                    j++;
785                  };                  };
786                };                };
# Line 781  void FEVdetector::ShowInfo(TString detec Line 813  void FEVdetector::ShowInfo(TString detec
813                    setcolor(col,RESET, BLUE, WHITE);                    setcolor(col,RESET, BLUE, WHITE);
814                    setcolor(col2,RESET, BLACK, WHITE);                    setcolor(col2,RESET, BLACK, WHITE);
815                    sprintf(o,"%s%s %s[%i]%s = ",o,col,foglia->GetName(),arr->GetSize(),col2);                    sprintf(o,"%s%s %s[%i]%s = ",o,col,foglia->GetName(),arr->GetSize(),col2);
816                      sprintf(zz,"%s %s[%i] = ",zz,foglia->GetName(),arr->GetSize());
817                    //                    //
818                    while ( j < tb->GetNdata() ){                    while ( j < tb->GetNdata() ){
819                      //                      //
# Line 791  void FEVdetector::ShowInfo(TString detec Line 824  void FEVdetector::ShowInfo(TString detec
824                      while ( jj < arlen ){                      while ( jj < arlen ){
825                        if ( jj < arlen-1 ){                        if ( jj < arlen-1 ){
826                          sprintf(o,"%s %i ,",o,arr->At(jj));                          sprintf(o,"%s %i ,",o,arr->At(jj));
827                            sprintf(zz,"%s %i ,",zz,arr->At(jj));
828                        } else {                        } else {
829                          sprintf(o,"%s %i",o,arr->At(jj));                          sprintf(o,"%s %i",o,arr->At(jj));
830                            sprintf(zz,"%s %i",zz,arr->At(jj));
831                        };                        };
832                        jj++;                        jj++;
833                      };                      };
834                      if ( j < tb->GetNdata() -1 ) sprintf(o,"%s ,",o);                      if ( j < tb->GetNdata() -1 ) sprintf(o,"%s ,",o);
835                        if ( j < tb->GetNdata() -1 ) sprintf(zz,"%s ,",zz);
836                      j++;                      j++;
837                    };                    };
838                  };                  };
# Line 814  void FEVdetector::ShowInfo(TString detec Line 850  void FEVdetector::ShowInfo(TString detec
850                    setcolor(col,RESET, BLUE, WHITE);                    setcolor(col,RESET, BLUE, WHITE);
851                    setcolor(col2,RESET, BLACK, WHITE);                    setcolor(col2,RESET, BLACK, WHITE);
852                    sprintf(o,"%s%s %s[%i]%s = ",o,col,foglia->GetName(),arr->GetSize(),col2);                    sprintf(o,"%s%s %s[%i]%s = ",o,col,foglia->GetName(),arr->GetSize(),col2);
853                      sprintf(zz,"%s %s[%i] = ",zz,foglia->GetName(),arr->GetSize());
854                    //                    //
855                    while ( j < tb->GetNdata() ){                    while ( j < tb->GetNdata() ){
856                      //                      //
# Line 824  void FEVdetector::ShowInfo(TString detec Line 861  void FEVdetector::ShowInfo(TString detec
861                      while ( jj < arlen ){                      while ( jj < arlen ){
862                        if ( jj < arlen-1 ){                        if ( jj < arlen-1 ){
863                          sprintf(o,"%s %f ,",o,arr->At(jj));                          sprintf(o,"%s %f ,",o,arr->At(jj));
864                            sprintf(zz,"%s %f ,",zz,arr->At(jj));
865                        } else {                        } else {
866                          sprintf(o,"%s %f",o,arr->At(jj));                          sprintf(o,"%s %f",o,arr->At(jj));
867                            sprintf(zz,"%s %f",zz,arr->At(jj));
868                        };                        };
869                        jj++;                        jj++;
870                      };                      };
871                      if ( j < tb->GetNdata() -1 ) sprintf(o,"%s ,",o);                      if ( j < tb->GetNdata() -1 ) sprintf(o,"%s ,",o);
872                        if ( j < tb->GetNdata() -1 ) sprintf(zz,"%s ,",zz);
873                      j++;                      j++;
874                    };                    };
875                  };                  };
876                };                };
877                sprintf(o,"%s\n",o);                sprintf(o,"%s\n",o);
878                  sprintf(zz,"%s\n",zz);
879                break;                        break;        
880              };              };
881            };            };
# Line 843  void FEVdetector::ShowInfo(TString detec Line 884  void FEVdetector::ShowInfo(TString detec
884        break;        break;
885      };      };
886    };      };  
   //  pamgui->DIALOG(0,o);  
887    printf("%s\n",o);    printf("%s\n",o);
888      pamgui->DIALOG(4,zz);
889  };  };
890    
891    
# Line 1016  int FEVdetector::SelectEvent(){ Line 1057  int FEVdetector::SelectEvent(){
1057        //        //
1058        if ( level.file == 2 ){        if ( level.file == 2 ){
1059          cintcom.str("");          cintcom.str("");
1060          cintcom << "PamLevel2 *L2 = (PamLevel2*)0x" << hex;          cintcom << "PamLevel2 *L2 = (PamLevel2*)" << hex; //con const e l2 funziona
1061          cintcom << L2;          cintcom << L2;
1062          gROOT->ProcessLine(cintcom.str().c_str());          gROOT->ProcessLine(cintcom.str().c_str());
1063            //      printf(" comando: %s \n",cintcom.str().c_str());
1064        } else {        } else {
1065          cintcom.str("");          cintcom.str("");
1066          cintcom << "TTree *otr = (TTree*)0x" << hex;          cintcom << "TTree *otr = (TTree*)" << hex;
1067          cintcom << otr;          cintcom << otr;
1068          gROOT->ProcessLine(cintcom.str().c_str());          gROOT->ProcessLine(cintcom.str().c_str());
1069          //          //
1070          cintcom.str("");          cintcom.str("");
1071          cintcom << "struct Variables &var = (struct Variables &)0x" << hex;          cintcom << "struct Variables &var = (struct Variables &)" << hex;
1072          cintcom << &var;          cintcom << &var;
1073          gROOT->ProcessLine(cintcom.str().c_str());          gROOT->ProcessLine(cintcom.str().c_str());
1074        };        };
# Line 1057  TChain* FEVdetector::Load(TString file){ Line 1099  TChain* FEVdetector::Load(TString file){
1099    //    //
1100    if ( level.file == 2 ){    if ( level.file == 2 ){
1101      //      //
1102      printf(" %s \n",ddec.Data());      //    printf(" %s \n",ddec.Data());
1103      if ( !L2 ){      if ( !L2 ){
1104        L2 = new PamLevel2("",file.Data(),ddec.Data());        L2 = new PamLevel2("",file.Data(),ddec.Data());
1105        otr = L2->GetPamTree();        otr = L2->GetPamTree();
1106        printf(" l2 constructor\n");        //      printf(" l2 constructor\n");
1107        //      printf(" abst %u obt %u qtot %f \n",L2->GetOrbitalInfo()->absTime,L2->GetOrbitalInfo()->OBT,L2->GetCaloLevel2()->qtot);            //      printf(" abst %u obt %u qtot %f \n",L2->GetOrbitalInfo()->absTime,L2->GetOrbitalInfo()->OBT,L2->GetCaloLevel2()->qtot);    
1108      } else {      } else {
1109        //        //
1110        printf(" l2 already exist \n");        //      printf(" l2 already exist \n");
1111        otr = L2->GetPamTree(gSystem->DirName(file.Data()),file.Data(),ddec.Data());        otr = L2->GetPamTree(gSystem->DirName(file.Data()),file.Data(),ddec.Data());
1112        L2->GetRunTree(gSystem->DirName(file.Data()),file.Data());        L2->GetRunTree(gSystem->DirName(file.Data()),file.Data());
1113        //        //
# Line 1448  void FEVdetector::DisplayEvent(){ Line 1490  void FEVdetector::DisplayEvent(){
1490        text->DrawLatex(var.xxvc+0.17*var.sfx,var.yxvc-0.08*var.sfy,"CAS1");        text->DrawLatex(var.xxvc+0.17*var.sfx,var.yxvc-0.08*var.sfy,"CAS1");
1491        text->DrawLatex(var.xyvc-0.192*var.sfx,var.yyvc-0.08*var.sfy,"CAS4");        text->DrawLatex(var.xyvc-0.192*var.sfx,var.yyvc-0.08*var.sfy,"CAS4");
1492        text->DrawLatex(var.xyvc+0.17*var.sfx,var.yyvc-0.08*var.sfy,"CAS3");        text->DrawLatex(var.xyvc+0.17*var.sfx,var.yyvc-0.08*var.sfy,"CAS3");
1493        text->DrawLatex(var.xxvc-0.192*var.sfx,var.yxvc+0.48*var.sfy,"CARD2");        text->DrawLatex(var.xxvc-0.222*var.sfx,var.yxvc+0.48*var.sfy,"CARD2");
1494        text->DrawLatex(var.xxvc+0.155*var.sfx,var.yxvc+0.48*var.sfy,"CARD3");        text->DrawLatex(var.xxvc+0.185*var.sfx,var.yxvc+0.48*var.sfy,"CARD3");
1495        text->DrawLatex(var.xyvc-0.170*var.sfx,var.yyvc+0.48*var.sfy,"CARD1");        text->DrawLatex(var.xyvc-0.190*var.sfx,var.yyvc+0.48*var.sfy,"CARD1");
1496        text->DrawLatex(var.xyvc+0.13*var.sfx,var.yyvc+0.48*var.sfy,"CARD4");        text->DrawLatex(var.xyvc+0.16*var.sfx,var.yyvc+0.48*var.sfy,"CARD4");
1497        text->DrawLatex(var.xxvc-0.192*var.sfx,var.yxvc+0.39*var.sfy,"CAT3");        text->DrawLatex(var.xxvc-0.192*var.sfx,var.yxvc+0.39*var.sfy,"CAT3");
1498        text->DrawLatex(var.xxvc+0.155*var.sfx,var.yxvc+0.39*var.sfy,"CAT4");        text->DrawLatex(var.xxvc+0.155*var.sfx,var.yxvc+0.39*var.sfy,"CAT4");
1499        text->DrawLatex(var.xyvc-0.170*var.sfx,var.yyvc+0.39*var.sfy,"CAT2");        text->DrawLatex(var.xyvc-0.170*var.sfx,var.yyvc+0.39*var.sfy,"CAT2");
# Line 1579  void FEVdetector::DisplayEvent(){ Line 1621  void FEVdetector::DisplayEvent(){
1621    //    //
1622    // print infos on terminal    // print infos on terminal
1623    //    //
1624      //  if ( !var.selex ){
1625    printf(" File: %s \n",var.thefilename.Data());            printf(" File: %s \n",var.thefilename.Data());        
1626    if ( !s4pulser && !calotrig ){    if ( !s4pulser && !calotrig ){
1627      printf(" Pkt_num: %i  - Progressive number: %i \n",(int)headc,thisentry+1);      printf(" Pkt_num: %i  - Progressive number: %i \n",(int)headc,thisentry+1);
# Line 1589  void FEVdetector::DisplayEvent(){ Line 1632  void FEVdetector::DisplayEvent(){
1632    if ( calotrig ){    if ( calotrig ){
1633      printf(" Pkt_num: %i  - Progressive number: %i   - CALO trigger -\n",(int)headc,thisentry+1);      printf(" Pkt_num: %i  - Progressive number: %i   - CALO trigger -\n",(int)headc,thisentry+1);
1634    };    };
1635    printf(" On Board Time: %i (delta %i) [ms]\n",OBT,DOBT);    printf(" On Board Time: %u (delta %i) [ms]\n",OBT,DOBT);
1636    const char *trc2 = trcs;    const char *trc2 = trcs;
1637    printf(" TRIGGER: %s \n",trc2);          printf(" TRIGGER: %s \n",trc2);      
1638    printf(" AC: CARD hit = %i  CAT hit = %i  CAS hit = %i \n",var.hcard,var.hcat,var.hcas);          printf(" AC: CARD hit = %i  CAT hit = %i  CAS hit = %i \n",var.hcard,var.hcat,var.hcas);      
# Line 1601  void FEVdetector::DisplayEvent(){ Line 1644  void FEVdetector::DisplayEvent(){
1644    printf(" CALO: NSTRIP = %i  QTOT = %i [MIP]\n",var.nstrip,var.qtot);      printf(" CALO: NSTRIP = %i  QTOT = %i [MIP]\n",var.nstrip,var.qtot);  
1645    printf(" S4: %.2f [MIP]   TOF: beta = %.2f \n",var.s4sig,var.beta[4]);            printf(" S4: %.2f [MIP]   TOF: beta = %.2f \n",var.s4sig,var.beta[4]);        
1646    printf(" ND: Trigger: neutrons = %i - Background: upper = %i lower = %i \n",var.trup,var.bkup,var.bkbo);          printf(" ND: Trigger: neutrons = %i - Background: upper = %i lower = %i \n",var.trup,var.bkup,var.bkbo);      
1647      //  };
1648    //    //
1649  }  }
1650    
# Line 1911  void FEVdetector::ShowTOF(){ Line 1955  void FEVdetector::ShowTOF(){
1955    if ( !var.TOF ) return;    if ( !var.TOF ) return;
1956    //    //
1957    Int_t tt = 0;    Int_t tt = 0;
1958      Int_t rj = 0;
1959    //    //
1960    // force level0, i.e. show patterntrig variable!    // force level0, i.e. show patterntrig variable!
1961    //    //
# Line 1940  void FEVdetector::ShowTOF(){ Line 1985  void FEVdetector::ShowTOF(){
1985      Float_t mt31[2][3];      Float_t mt31[2][3];
1986      Float_t mt32[2][3];      Float_t mt32[2][3];
1987      //      //
1988        memset(mt11,0,2*8*sizeof(Float_t));
1989        memset(mt12,0,2*6*sizeof(Float_t));
1990        memset(mt21,0,2*2*sizeof(Float_t));
1991        memset(mt22,0,2*2*sizeof(Float_t));
1992        memset(mt31,0,2*3*sizeof(Float_t));
1993        memset(mt32,0,2*3*sizeof(Float_t));
1994        //
1995      Int_t S3 = 0;      Int_t S3 = 0;
1996      Int_t S2 = 0;      Int_t S2 = 0;
1997      Int_t S12 = 0;      Int_t S12 = 0;
# Line 2104  void FEVdetector::ShowTOF(){ Line 2156  void FEVdetector::ShowTOF(){
2156      Float_t s12p = 0.055;      Float_t s12p = 0.055;
2157      ocolo = 10;      ocolo = 10;
2158      TPolyLine *ftof12ya[6];      TPolyLine *ftof12ya[6];
2159        rj=6;
2160      for ( Int_t j=0; j<6; j++){      for ( Int_t j=0; j<6; j++){
2161          rj--;
2162        Float_t xc1[4]={ (s12p*j),       s12p*(j),               s12p*(j+1),     (s12p*j)};        Float_t xc1[4]={ (s12p*j),       s12p*(j),               s12p*(j+1),     (s12p*j)};
2163        Float_t yc1[4]={      -ws13,     0.,  0., -ws13};        Float_t yc1[4]={      -ws13,     0.,  0., -ws13};
2164        Float_t xc[4];            Float_t xc[4];    
# Line 2120  void FEVdetector::ShowTOF(){ Line 2174  void FEVdetector::ShowTOF(){
2174        } else {        } else {
2175          colo = 1;          colo = 1;
2176        };        };
2177        ColorMIP(ms12a[j],colo);        ColorMIP(ms12a[rj],colo);
2178        //        //
2179        if ( colo != 10 ) ocolo = colo;        if ( colo != 10 ) ocolo = colo;
2180        if ( mt12[0][j] == 4095. ) colo = noadc;        if ( mt12[0][rj] == 4095. ) colo = noadc;
2181        //        //
2182        ftof12ya[j]->SetFillColor(colo);        ftof12ya[j]->SetFillColor(colo);
2183        ftof12ya[j]->SetLineWidth(1);        ftof12ya[j]->SetLineWidth(1);
# Line 2133  void FEVdetector::ShowTOF(){ Line 2187  void FEVdetector::ShowTOF(){
2187      // B      // B
2188      s12p = 0.055;      s12p = 0.055;
2189      TPolyLine *ftof12yb[6];      TPolyLine *ftof12yb[6];
2190        rj=6;
2191      for ( Int_t j=0; j<6; j++){      for ( Int_t j=0; j<6; j++){
2192          rj--;
2193        Float_t xc1[4]={ (s12p*j),       s12p*(j+1),               s12p*(j+1),     (s12p*j)};        Float_t xc1[4]={ (s12p*j),       s12p*(j+1),               s12p*(j+1),     (s12p*j)};
2194        Float_t yc1[4]={ -ws13,     -ws13,    0., -ws13};        Float_t yc1[4]={ -ws13,     -ws13,    0., -ws13};
2195        Float_t xc[4];            Float_t xc[4];    
# Line 2149  void FEVdetector::ShowTOF(){ Line 2205  void FEVdetector::ShowTOF(){
2205        } else {        } else {
2206          colo = 1;          colo = 1;
2207        };        };
2208        ColorMIP(ms12b[j],colo);        ColorMIP(ms12b[rj],colo);
2209        //        //
2210        if ( colo != 10 ) ocolo = colo;        if ( colo != 10 ) ocolo = colo;
2211        if ( mt12[1][j] == 4095. ) colo = noadc;        if ( mt12[1][rj] == 4095. ) colo = noadc;
2212        //        //
2213        ftof12yb[j]->SetFillColor(colo);        ftof12yb[j]->SetFillColor(colo);
2214        ftof12yb[j]->SetLineWidth(1);        ftof12yb[j]->SetLineWidth(1);
# Line 2186  void FEVdetector::ShowTOF(){ Line 2242  void FEVdetector::ShowTOF(){
2242      Float_t s21p = 0.075;      Float_t s21p = 0.075;
2243      ocolo = 10;      ocolo = 10;
2244      TPolyLine *ftof21ya[2];      TPolyLine *ftof21ya[2];
2245        rj=2;
2246      for ( Int_t j=0; j<2; j++){      for ( Int_t j=0; j<2; j++){
2247          rj--;
2248        Float_t xc1[4]={ s21p*(j-1),       s21p*(j-1),               s21p*j,     s21p*(j-1)};        Float_t xc1[4]={ s21p*(j-1),       s21p*(j-1),               s21p*j,     s21p*(j-1)};
2249        Float_t yc1[4]={ 0.,                ws2,     ws2,    0.};        Float_t yc1[4]={ 0.,                ws2,     ws2,    0.};
2250        Float_t xc[4];            Float_t xc[4];    
# Line 2202  void FEVdetector::ShowTOF(){ Line 2260  void FEVdetector::ShowTOF(){
2260        } else {        } else {
2261          colo = 1;          colo = 1;
2262        };        };
2263        ColorMIP(ms21a[j],colo);        ColorMIP(ms21a[rj],colo);
2264        //        //
2265        if ( colo != 10 ) ocolo = colo;        if ( colo != 10 ) ocolo = colo;
2266        if ( mt21[0][j] == 4095. ) colo = noadc;        if ( mt21[0][rj] == 4095. ) colo = noadc;
2267        //        //
2268        ftof21ya[j]->SetFillColor(colo);        ftof21ya[j]->SetFillColor(colo);
2269        ftof21ya[j]->SetLineWidth(1);        ftof21ya[j]->SetLineWidth(1);
# Line 2215  void FEVdetector::ShowTOF(){ Line 2273  void FEVdetector::ShowTOF(){
2273      // B      // B
2274      s21p = 0.075;      s21p = 0.075;
2275      TPolyLine *ftof21yb[2];      TPolyLine *ftof21yb[2];
2276        rj=2;
2277      for ( Int_t j=0; j<2; j++){      for ( Int_t j=0; j<2; j++){
2278          rj--;
2279        Float_t xc1[4]={ s21p*(j-1),       s21p*j,               s21p*j,     s21p*(j-1)};        Float_t xc1[4]={ s21p*(j-1),       s21p*j,               s21p*j,     s21p*(j-1)};
2280        Float_t yc1[4]={ 0.,         0.,                ws2,         0.};        Float_t yc1[4]={ 0.,         0.,                ws2,         0.};
2281        Float_t xc[4];            Float_t xc[4];    
# Line 2231  void FEVdetector::ShowTOF(){ Line 2291  void FEVdetector::ShowTOF(){
2291        } else {        } else {
2292          colo = 1;          colo = 1;
2293        };        };
2294        ColorMIP(ms21b[j],colo);        ColorMIP(ms21b[rj],colo);
2295        //        //
2296        if ( colo != 10 ) ocolo = colo;        if ( colo != 10 ) ocolo = colo;
2297        if ( mt21[1][j] == 4095. ) colo = noadc;        if ( mt21[1][rj] == 4095. ) colo = noadc;
2298        //        //
2299        ftof21yb[j]->SetFillColor(colo);        ftof21yb[j]->SetFillColor(colo);
2300        ftof21yb[j]->SetLineWidth(1);        ftof21yb[j]->SetLineWidth(1);
# Line 2349  void FEVdetector::ShowTOF(){ Line 2409  void FEVdetector::ShowTOF(){
2409      Float_t s31p = 0.060;      Float_t s31p = 0.060;
2410      ocolo = 10;      ocolo = 10;
2411      TPolyLine *ftof31xa[3];      TPolyLine *ftof31xa[3];
2412        rj=3;
2413      for ( Int_t j=0; j<3; j++){      for ( Int_t j=0; j<3; j++){
2414          rj--;
2415        Float_t xc1[4]={ (s31p*j),       (s31p*j),               s31p*(j+1),       (s31p*j)};        Float_t xc1[4]={ (s31p*j),       (s31p*j),               s31p*(j+1),       (s31p*j)};
2416        Float_t yc1[4]={ 0.,                       ws13,     ws13,    0.};        Float_t yc1[4]={ 0.,                       ws13,     ws13,    0.};
2417        Float_t xc[4];            Float_t xc[4];    
# Line 2365  void FEVdetector::ShowTOF(){ Line 2427  void FEVdetector::ShowTOF(){
2427        } else {        } else {
2428          colo = 1;          colo = 1;
2429        };        };
2430        ColorMIP(ms31a[j],colo);        ColorMIP(ms31a[rj],colo);
2431        //        //
2432        if ( colo != 10 ) ocolo = colo;        if ( colo != 10 ) ocolo = colo;
2433        if ( mt31[0][j] == 4095. ) colo = noadc;        if ( mt31[0][rj] == 4095. ) colo = noadc;
2434        //        //
2435        ftof31xa[j]->SetFillColor(colo);        ftof31xa[j]->SetFillColor(colo);
2436        ftof31xa[j]->SetLineWidth(1);        ftof31xa[j]->SetLineWidth(1);
# Line 2378  void FEVdetector::ShowTOF(){ Line 2440  void FEVdetector::ShowTOF(){
2440      // B      // B
2441      s31p = 0.060;      s31p = 0.060;
2442      TPolyLine *ftof31xb[3];      TPolyLine *ftof31xb[3];
2443        rj=3;
2444      for ( Int_t j=0; j<3; j++){      for ( Int_t j=0; j<3; j++){
2445          rj--;
2446        Float_t xc1[4]={ (s31p*j),       s31p*(j+1),               s31p*(j+1),     (s31p*j)};        Float_t xc1[4]={ (s31p*j),       s31p*(j+1),               s31p*(j+1),     (s31p*j)};
2447        Float_t yc1[4]={ 0.,                        0.,     ws13,    0.};        Float_t yc1[4]={ 0.,                        0.,     ws13,    0.};
2448        Float_t xc[4];            Float_t xc[4];    
# Line 2394  void FEVdetector::ShowTOF(){ Line 2458  void FEVdetector::ShowTOF(){
2458        } else {        } else {
2459          colo = 1;          colo = 1;
2460        };        };
2461        ColorMIP(ms31b[j],colo);        ColorMIP(ms31b[rj],colo);
2462        //        //
2463        if ( colo != 10 ) ocolo = colo;        if ( colo != 10 ) ocolo = colo;
2464        if ( mt31[1][j] == 4095. ) colo = noadc;        if ( mt31[1][rj] == 4095. ) colo = noadc;
2465        //        //
2466        ftof31xb[j]->SetFillColor(colo);        ftof31xb[j]->SetFillColor(colo);
2467        ftof31xb[j]->SetLineWidth(1);        ftof31xb[j]->SetLineWidth(1);
# Line 2429  void FEVdetector::ShowTOF(){ Line 2493  void FEVdetector::ShowTOF(){
2493      Float_t s32p = 0.050;      Float_t s32p = 0.050;
2494      ocolo = 10;      ocolo = 10;
2495      TPolyLine *ftof32ya[3];      TPolyLine *ftof32ya[3];
2496        rj=3;
2497      for ( Int_t j=0; j<3; j++){      for ( Int_t j=0; j<3; j++){
2498          rj--;
2499        Float_t xc1[4]={ (s32p*j),       (s32p*j),               s32p*(j+1),     (s32p*j)};        Float_t xc1[4]={ (s32p*j),       (s32p*j),               s32p*(j+1),     (s32p*j)};
2500        Float_t yc1[4]={     -ws13,     0.,    0., -ws13};        Float_t yc1[4]={     -ws13,     0.,    0., -ws13};
2501        Float_t xc[4];            Float_t xc[4];    
# Line 2445  void FEVdetector::ShowTOF(){ Line 2511  void FEVdetector::ShowTOF(){
2511        } else {        } else {
2512          colo = 1;          colo = 1;
2513        };        };
2514        ColorMIP(ms32a[j],colo);        ColorMIP(ms32a[rj],colo);
2515        //        //
2516        if ( colo != 10 ) ocolo = colo;        if ( colo != 10 ) ocolo = colo;
2517        if ( mt32[0][j] == 4095. ) colo = noadc;        if ( mt32[0][rj] == 4095. ) colo = noadc;
2518        //        //
2519        ftof32ya[j]->SetFillColor(colo);        ftof32ya[j]->SetFillColor(colo);
2520        ftof32ya[j]->SetLineWidth(1);        ftof32ya[j]->SetLineWidth(1);
# Line 2457  void FEVdetector::ShowTOF(){ Line 2523  void FEVdetector::ShowTOF(){
2523      };      };
2524      s32p = 0.050;      s32p = 0.050;
2525      TPolyLine *ftof32yb[3];      TPolyLine *ftof32yb[3];
2526        rj=3;
2527      for ( Int_t j=0; j<3; j++){      for ( Int_t j=0; j<3; j++){
2528          rj--;
2529        Float_t xc1[4]={ (s32p*j),       s32p*(j+1),               s32p*(j+1),     (s32p*j)};        Float_t xc1[4]={ (s32p*j),       s32p*(j+1),               s32p*(j+1),     (s32p*j)};
2530        Float_t yc1[4]={ -ws13,   -ws13,    0., -ws13};        Float_t yc1[4]={ -ws13,   -ws13,    0., -ws13};
2531        Float_t xc[4];            Float_t xc[4];    
# Line 2473  void FEVdetector::ShowTOF(){ Line 2541  void FEVdetector::ShowTOF(){
2541        } else {        } else {
2542          colo = 1;          colo = 1;
2543        };        };
2544        ColorMIP(ms32b[j],colo);        ColorMIP(ms32b[rj],colo);
2545        //        //
2546        if ( colo != 10 ) ocolo = colo;        if ( colo != 10 ) ocolo = colo;
2547        if ( mt32[1][j] == 4095. ) colo = noadc;        if ( mt32[1][rj] == 4095. ) colo = noadc;
2548        //        //
2549        ftof32yb[j]->SetFillColor(colo);        ftof32yb[j]->SetFillColor(colo);
2550        ftof32yb[j]->SetLineWidth(1);        ftof32yb[j]->SetLineWidth(1);
# Line 2920  void FEVdetector::ShowTOF(){ Line 2988  void FEVdetector::ShowTOF(){
2988      ftof11y->Draw();      ftof11y->Draw();
2989      TPolyLine *sftof11[8];      TPolyLine *sftof11[8];
2990      tt = 1;      tt = 1;
2991      if ( level.file == -1 ) tt = 8;      rj=1;
2992        if ( level.file == -1 ){
2993          tt = 8;
2994          rj = 8;
2995        };
2996      for ( Int_t j=0; j<tt; j++){      for ( Int_t j=0; j<tt; j++){
2997        if ( (mt11[0][j]<4095. || mt11[1][j]<4095.)){        rj--;
2998          if ( (mt11[0][rj]<4095. || mt11[1][rj]<4095.)){
2999          if ( ocolo == 10 ) ocolo = noadc;          if ( ocolo == 10 ) ocolo = noadc;
3000          Float_t lowp = (xp11[j]-E11[j])/100.;          Float_t lowp = -(xp11[rj]+E11[rj])/100.;
3001          Float_t higp = (xp11[j]+E11[j])/100.;          Float_t higp = -(xp11[rj]-E11[rj])/100.;
3002          if ( lowp < -0.164 ) lowp = -0.164;          if ( lowp < -0.164 ) lowp = -0.164;
3003          if ( higp > 0.164 ) higp = 0.164;          if ( higp > 0.164 ) higp = 0.164;
3004          if ( lowp < higp && ( level.file == -1 || (level.file == 2 && xp11[j] != 0.))){          if ( lowp < higp && ( level.file == -1 || (level.file == 2 && xp11[rj] != 0.))){
3005            Float_t nxc1[5]={ lowp, higp, higp, lowp, lowp};            Float_t nxc1[5]={ lowp, higp, higp, lowp, lowp};
3006            Float_t nyc1[5]={ 0.0015,         0.0015,                ws13-0.0015,    ws13-0.0015,    0.0015};            Float_t nyc1[5]={ 0.0015,         0.0015,                ws13-0.0015,    ws13-0.0015,    0.0015};
3007            Float_t nxc[5];                Float_t nxc[5];    
# Line 2953  void FEVdetector::ShowTOF(){ Line 3026  void FEVdetector::ShowTOF(){
3026      Float_t s12p = 0.055;      Float_t s12p = 0.055;
3027      ocolo = 10;      ocolo = 10;
3028      TPolyLine *ftof12y[6];      TPolyLine *ftof12y[6];
3029        rj = 6;
3030      for ( Int_t j=0; j<6; j++){      for ( Int_t j=0; j<6; j++){
3031          rj--;
3032        Float_t nxc1[5]={ (s12p*j),       (s12p*j),               s12p*(j+1), s12p*(j+1),    (s12p*j)};        Float_t nxc1[5]={ (s12p*j),       (s12p*j),               s12p*(j+1), s12p*(j+1),    (s12p*j)};
3033        Float_t nyc1[5]={      -ws13,     0.,  0., -ws13, -ws13};        Float_t nyc1[5]={      -ws13,     0.,  0., -ws13, -ws13};
3034        Float_t nxc[5];            Float_t nxc[5];    
# Line 2970  void FEVdetector::ShowTOF(){ Line 3045  void FEVdetector::ShowTOF(){
3045          colo = 1;          colo = 1;
3046        };        };
3047        if ( level.file == -1 ){        if ( level.file == -1 ){
3048          ColorMIP(ms12a[j]+ms12b[j],colo);          ColorMIP(ms12a[rj]+ms12b[rj],colo);
3049        } else {        } else {
3050          ColorTOFMIP(ms12a[j]+ms12b[j],colo);          ColorTOFMIP(ms12a[rj]+ms12b[rj],colo);
3051        };        };
3052        //        //
3053        if ( colo != 10 ) ocolo = colo;        if ( colo != 10 ) ocolo = colo;
# Line 3039  void FEVdetector::ShowTOF(){ Line 3114  void FEVdetector::ShowTOF(){
3114      Float_t s21p = 0.075;      Float_t s21p = 0.075;
3115      ocolo = 10;      ocolo = 10;
3116      TPolyLine *ftof21y[2];      TPolyLine *ftof21y[2];
3117        rj=2;
3118      for ( Int_t j=0; j<2; j++){      for ( Int_t j=0; j<2; j++){
3119          rj--;
3120        Float_t nxc1[5]={ s21p*(j-1),       s21p*(j-1),               s21p*j,s21p*j,     s21p*(j-1)};        Float_t nxc1[5]={ s21p*(j-1),       s21p*(j-1),               s21p*j,s21p*j,     s21p*(j-1)};
3121        Float_t nyc1[5]={ 0.,                ws2,     ws2,  0.,  0.};        Float_t nyc1[5]={ 0.,                ws2,     ws2,  0.,  0.};
3122        Float_t nxc[5];            Float_t nxc[5];    
# Line 3056  void FEVdetector::ShowTOF(){ Line 3133  void FEVdetector::ShowTOF(){
3133          colo = 1;          colo = 1;
3134        };        };
3135        if ( level.file == -1 ){        if ( level.file == -1 ){
3136          ColorMIP(ms21a[j]+ms21b[j],colo);          ColorMIP(ms21a[rj]+ms21b[rj],colo);
3137        } else {        } else {
3138          ColorTOFMIP(ms21a[j]+ms21b[j],colo);          ColorTOFMIP(ms21a[rj]+ms21b[rj],colo);
3139        };        };
3140        //        //
3141        if ( colo != 10 ) ocolo = colo;        if ( colo != 10 ) ocolo = colo;
# Line 3175  void FEVdetector::ShowTOF(){ Line 3252  void FEVdetector::ShowTOF(){
3252        ftof22y->Draw();        ftof22y->Draw();
3253        TPolyLine *sftof22[2];        TPolyLine *sftof22[2];
3254        tt = 1;        tt = 1;
3255        if ( level.file == -1 ) tt = 2;        rj = 1;
3256          if ( level.file == -1 ){
3257            tt = 2;
3258            rj = 2;
3259          };
3260        for (Int_t j=0; j<tt; j++){        for (Int_t j=0; j<tt; j++){
3261            rj--;
3262          //    for ( Int_t j=0; j<2; j++){          //    for ( Int_t j=0; j<2; j++){
3263          if ( (mt22[0][j]<4095. || mt22[1][j]<4095.) ){          if ( (mt22[0][rj]<4095. || mt22[1][rj]<4095.) ){
3264            if ( ocolo == 10 ) ocolo = noadc;            if ( ocolo == 10 ) ocolo = noadc;
3265            Float_t lowp = (xp22[j]-E22[j])/100.;            Float_t lowp = -(xp22[rj]+E22[rj])/100.;
3266            Float_t higp = (xp22[j]+E22[j])/100.;            Float_t higp = -(xp22[rj]-E22[rj])/100.;
3267            if ( lowp < -0.074 ) lowp = -0.074;            if ( lowp < -0.074 ) lowp = -0.074;
3268            if ( higp > 0.074 ) higp = 0.074;            if ( higp > 0.074 ) higp = 0.074;
3269            if ( lowp < higp && ( level.file == -1 || (level.file == 2 && xp22[j] != 0.))){            if ( lowp < higp && ( level.file == -1 || (level.file == 2 && xp22[rj] != 0.))){
3270              Float_t nxc1[5]={ lowp, higp, higp, lowp, lowp};              Float_t nxc1[5]={ lowp, higp, higp, lowp, lowp};
3271              Float_t nyc1[5]={ -0.0015,         -0.0015,                -ws2+0.0015,    -ws2+0.0015,    -0.0015};              Float_t nyc1[5]={ -0.0015,         -0.0015,                -ws2+0.0015,    -ws2+0.0015,    -0.0015};
3272              Float_t nxc[5];                  Float_t nxc[5];    
# Line 3204  void FEVdetector::ShowTOF(){ Line 3286  void FEVdetector::ShowTOF(){
3286        };        };
3287      };      };
3288      //      //
3289        //daquiinbasso
3290      //      //
3291      // S31  X-view      // S31  X-view
3292      //      //
# Line 3261  void FEVdetector::ShowTOF(){ Line 3343  void FEVdetector::ShowTOF(){
3343        ftof31y->Draw();        ftof31y->Draw();
3344        TPolyLine *sftof31[3];        TPolyLine *sftof31[3];
3345        tt = 1;        tt = 1;
3346        if ( level.file == -1 ) tt = 3;        rj = 1;
3347          if ( level.file == -1 ){
3348            tt = 3;
3349            rj = 3;
3350          };
3351        for (Int_t j=0; j<tt; j++){        for (Int_t j=0; j<tt; j++){
3352            rj--;
3353          //    for ( Int_t j=0; j<3; j++){          //    for ( Int_t j=0; j<3; j++){
3354          if ( (mt31[0][j]<4095. || mt31[1][j]<4095.)){          if ( (mt31[0][rj]<4095. || mt31[1][rj]<4095.)){
3355            if ( ocolo == 10 ) ocolo = noadc;            if ( ocolo == 10 ) ocolo = noadc;
3356            Float_t lowp = (xp31[j]-E31[j])/100.;            Float_t lowp = -(xp31[rj]+E31[rj])/100.;
3357            Float_t higp = (xp31[j]+E31[j])/100.;            Float_t higp = -(xp31[rj]-E31[rj])/100.;
3358            if ( lowp < -0.074 ) lowp = -0.074;            if ( lowp < -0.074 ) lowp = -0.074;
3359            if ( higp > 0.074 ) higp = 0.074;            if ( higp > 0.074 ) higp = 0.074;
3360            if ( lowp < higp && ( level.file == -1 || (level.file == 2 && xp31[j] != 0.))){            if ( lowp < higp && ( level.file == -1 || (level.file == 2 && xp31[rj] != 0.))){
3361              Float_t nxc1[5]={ lowp, higp, higp, lowp, lowp};              Float_t nxc1[5]={ lowp, higp, higp, lowp, lowp};
3362              Float_t nyc1[5]={ 0.0015,         0.0015,                ws13-0.0015,    ws13-0.0015,    0.0015};              Float_t nyc1[5]={ 0.0015,         0.0015,                ws13-0.0015,    ws13-0.0015,    0.0015};
3363              Float_t nxc[5];                  Float_t nxc[5];    
# Line 3297  void FEVdetector::ShowTOF(){ Line 3384  void FEVdetector::ShowTOF(){
3384      Float_t s32p = 0.050;      Float_t s32p = 0.050;
3385      ocolo = 10;      ocolo = 10;
3386      TPolyLine *ftof32y[3];      TPolyLine *ftof32y[3];
3387        rj = 3;
3388      for ( Int_t j=0; j<3; j++){      for ( Int_t j=0; j<3; j++){
3389          rj--;
3390        Float_t nxc1[5]={ (s32p*j),       (s32p*j),               s32p*(j+1),s32p*(j+1),     (s32p*j)};        Float_t nxc1[5]={ (s32p*j),       (s32p*j),               s32p*(j+1),s32p*(j+1),     (s32p*j)};
3391        Float_t nyc1[5]={     -ws13,     0.,    0., -ws13, -ws13};        Float_t nyc1[5]={     -ws13,     0.,    0., -ws13, -ws13};
3392        Float_t nxc[5];            Float_t nxc[5];    
# Line 3314  void FEVdetector::ShowTOF(){ Line 3403  void FEVdetector::ShowTOF(){
3403          colo = 1;          colo = 1;
3404        };        };
3405        if ( level.file == -1 ){        if ( level.file == -1 ){
3406          ColorMIP(ms32a[j]+ms32b[j],colo);          ColorMIP(ms32a[rj]+ms32b[rj],colo);
3407        } else {        } else {
3408          ColorTOFMIP(ms32a[j]+ms32b[j],colo);          ColorTOFMIP(ms32a[rj]+ms32b[rj],colo);
3409        };        };
3410        //        //
3411        if ( colo != 10 ) ocolo = colo;        if ( colo != 10 ) ocolo = colo;
# Line 5030  void FEVdetector::ShowTRK(Bool_t upd){ Line 5119  void FEVdetector::ShowTRK(Bool_t upd){
5119            for (Int_t m = 0; m<3; m++){            for (Int_t m = 0; m<3; m++){
5120              if ( trk->signcluster[l][m] != 0. ){              if ( trk->signcluster[l][m] != 0. ){
5121                if ( planeno == 10 ) {                if ( planeno == 10 ) {
                 x = 1024 - trk->addrcluster[l][m];  
               } else {  
5122                  x = trk->addrcluster[l][m];                  x = trk->addrcluster[l][m];
5123                  } else {
5124                    x = 1024 - trk->addrcluster[l][m];
5125                };                };
5126                linea = new TLine(14.+x,0.01,14.+x,0.3);                linea = new TLine(14.+x,0.01,14.+x,0.3);
5127                linea->SetLineWidth(2);                linea->SetLineWidth(2);
# Line 5102  void FEVdetector::ShowTRK(Bool_t upd){ Line 5191  void FEVdetector::ShowTRK(Bool_t upd){
5191          trkpad[planepad]->cd();          trkpad[planepad]->cd();
5192          trkpad[planepad]->Range(-7.05,0.,7.05,8.);          trkpad[planepad]->Range(-7.05,0.,7.05,8.);
5193          for (Int_t img=0; img<2; img++){          for (Int_t img=0; img<2; img++){
5194            x = singlet->coord[img];            x = -singlet->coord[img];
5195            Float_t xsig = singlet->sgnl;            Float_t xsig = singlet->sgnl;
5196            if ( xsig > 8. ) xsig = 8.;            if ( xsig > 8. ) xsig = 8.;
5197            //            //
# Line 5158  void FEVdetector::ShowTRK(Bool_t upd){ Line 5247  void FEVdetector::ShowTRK(Bool_t upd){
5247              trkpad[planepad]->Range(-8.1,0.,8.1,8.);              trkpad[planepad]->Range(-8.1,0.,8.1,8.);
5248              //              //
5249              x = track->xm[plane];              x = track->xm[plane];
5250              Float_t xsig = track->dedx_x[plane];              Float_t xsig = fabs(track->dedx_x[plane]);
5251              if ( track->xgood[plane] ){              if ( track->XGood(plane) ){
5252                //if ( x > -100 ){                //if ( x > -100 ){
5253                if ( xsig > 8. ) xsig = 8.;                if ( xsig > 8. ) xsig = 8.;
5254                if ( var.bw ){                if ( var.bw ){
# Line 5167  void FEVdetector::ShowTRK(Bool_t upd){ Line 5256  void FEVdetector::ShowTRK(Bool_t upd){
5256                } else {                } else {
5257                  sigcol2 = 1;                  sigcol2 = 1;
5258                };                };
5259                ColorTRKMIP(track->dedx_x[plane],sigcol2,0);                ColorTRKMIP(fabs(track->dedx_x[plane]),sigcol2,0);
5260                linea = new TLine(x,0.01,x,xsig);                linea = new TLine(x,0.01,x,xsig);
5261                linea->SetLineWidth(2);                linea->SetLineWidth(2);
5262                linea->SetLineColor(sigcol2);                linea->SetLineColor(sigcol2);
# Line 5187  void FEVdetector::ShowTRK(Bool_t upd){ Line 5276  void FEVdetector::ShowTRK(Bool_t upd){
5276              planepad = plane * 2;              planepad = plane * 2;
5277              trkpad[planepad]->cd();              trkpad[planepad]->cd();
5278              trkpad[planepad]->Range(-7.05,0.,7.05,8.);              trkpad[planepad]->Range(-7.05,0.,7.05,8.);
5279              x = track->ym[plane];              x = -track->ym[plane];
5280              xsig = track->dedx_y[plane];              xsig = fabs(track->dedx_y[plane]);
5281              if ( track->ygood[plane] ){              if ( track->YGood(plane) ){
5282                //            if ( x > -100 ){                //            if ( x > -100 ){
5283                if ( xsig > 8. ) xsig = 8.;                if ( xsig > 8. ) xsig = 8.;
5284                if ( var.bw ){                if ( var.bw ){
# Line 5197  void FEVdetector::ShowTRK(Bool_t upd){ Line 5286  void FEVdetector::ShowTRK(Bool_t upd){
5286                } else {                } else {
5287                  sigcol2 = 1;                  sigcol2 = 1;
5288                };                };
5289                ColorTRKMIP(track->dedx_y[plane],sigcol2,0);                ColorTRKMIP(fabs(track->dedx_y[plane]),sigcol2,0);
5290                linea = new TLine(x,0.01,x,xsig);                linea = new TLine(x,0.01,x,xsig);
5291                linea->SetLineWidth(2);                linea->SetLineWidth(2);
5292                linea->SetLineColor(sigcol2);                linea->SetLineColor(sigcol2);
# Line 5249  void FEVdetector::ShowTRK(Bool_t upd){ Line 5338  void FEVdetector::ShowTRK(Bool_t upd){
5338            for (Int_t plane = 0; plane<6; plane++){            for (Int_t plane = 0; plane<6; plane++){
5339              //              //
5340              x = track->xm[plane];              x = track->xm[plane];
5341              Float_t y = track->ym[plane];              Float_t y = -track->ym[plane];
5342              Float_t xsig = track->dedx_x[plane];              Float_t xsig = fabs(track->dedx_x[plane]);
5343              Float_t ysig = track->dedx_y[plane];              Float_t ysig = fabs(track->dedx_y[plane]);
5344              //    if ( x > -100 && y > -100. ){              //    if ( x > -100 && y > -100. ){
5345              if ( track->xgood[plane] && track->ygood[plane] ){              if ( track->XGood(plane) && track->YGood(plane) ){
5346                if ( var.bw ){                if ( var.bw ){
5347                  sigcol1 = -1;                  sigcol1 = -1;
5348                  sigcol2 = -1;                  sigcol2 = -1;
# Line 5371  void FEVdetector::ShowTRK(Bool_t upd){ Line 5460  void FEVdetector::ShowTRK(Bool_t upd){
5460              for (Int_t sing = 0; sing < min(totsx,totsy); sing++){              for (Int_t sing = 0; sing < min(totsx,totsy); sing++){
5461                //                              //              
5462                x = arrax->At(orderx->At(sing));                x = arrax->At(orderx->At(sing));
5463                Float_t y1 = array1->At(ordery->At(sing));                Float_t y1 = -array1->At(ordery->At(sing));
5464                Float_t y2 = array2->At(ordery->At(sing));                Float_t y2 = -array2->At(ordery->At(sing));
5465                Float_t xsig = sigarrax->At(orderx->At(sing));                Float_t xsig = sigarrax->At(orderx->At(sing));
5466                Float_t ysig = sigarray->At(ordery->At(sing));                Float_t ysig = sigarray->At(ordery->At(sing));
5467                if ( x > -100 && y1 > -100. ){                if ( x > -100 && y1 > -100. ){
# Line 5465  void FEVdetector::ShowTRK(Bool_t upd){ Line 5554  void FEVdetector::ShowTRK(Bool_t upd){
5554                  for (Int_t m = 0; m<3; m++){                                          for (Int_t m = 0; m<3; m++){                        
5555                    if ( trk->signcluster[l][m] != 0. ){                    if ( trk->signcluster[l][m] != 0. ){
5556                      if ( planeno == 10 ) {                      if ( planeno == 10 ) {
                       x = 1024 - trk->addrcluster[l][m];  
                     } else {  
5557                        x = trk->addrcluster[l][m];                        x = trk->addrcluster[l][m];
5558                        } else {
5559                          x = 1024 - trk->addrcluster[l][m];
5560                      };                      };
5561                      x += 1024.;                                      x += 1024.;                
5562                      if ( trk->signcluster[l][m]> ysig  ){                      if ( trk->signcluster[l][m]> ysig  ){
5563                        ysig = trk->signcluster[l][m];                        ysig = trk->signcluster[l][m];
5564                        yh1[ncro] = x-1024.;                        yh1[ncro] = x - 1024.;
5565                        yh2[ncro] = x;                        yh2[ncro] = x;
5566                      };                      };
5567                    };                    };
# Line 5500  void FEVdetector::ShowTRK(Bool_t upd){ Line 5589  void FEVdetector::ShowTRK(Bool_t upd){
5589                    for (Int_t m = 0; m<3; m++){                    for (Int_t m = 0; m<3; m++){
5590                      if ( trk->signcluster[e][m] != 0. ){                      if ( trk->signcluster[e][m] != 0. ){
5591                        if ( planeno == 10 ) {                        if ( planeno == 10 ) {
                         x = 1024 - trk->addrcluster[e][m];  
                       } else {  
5592                          x = trk->addrcluster[e][m];                          x = trk->addrcluster[e][m];
5593                          } else {
5594                            x = 1024 - trk->addrcluster[e][m];
5595                        };                        };
5596                        x += 1024.;                                              x += 1024.;                      
5597                        if ( trk->signcluster[e][m]> ysig  ){                        if ( trk->signcluster[e][m]> ysig  ){
5598                          ysig = trk->signcluster[e][m];                          ysig = trk->signcluster[e][m];
5599                          yh1[ncro] = x-1024.;                          yh1[ncro] = x - 1024.;
5600                          yh2[ncro] = x;                          yh2[ncro] = x;
5601                        };                        };
5602                      };                      };
# Line 5580  void FEVdetector::ShowTrack(){ Line 5669  void FEVdetector::ShowTrack(){
5669        };        };
5670        for (Int_t plane = 0; plane < 22; plane++){              for (Int_t plane = 0; plane < 22; plane++){      
5671          calx[plane] = (L2->GetCaloLevel2()->cbar[plane][0]/100.)*var.sfx + var.xxvc;;          calx[plane] = (L2->GetCaloLevel2()->cbar[plane][0]/100.)*var.sfx + var.xxvc;;
5672          caly[plane] = (L2->GetCaloLevel2()->cbar[plane][1]/100.)*var.sfx + var.xyvc;          caly[plane] = (-L2->GetCaloLevel2()->cbar[plane][1]/100.)*var.sfx + var.xyvc;
5673          //      calzx[plane] = zpiano[plane] -5.81*var.sfy/1000. + var.yxvc;          //      calzx[plane] = zpiano[plane] -5.81*var.sfy/1000. + var.yxvc;
5674          calzx[plane] = zpiano[plane] + var.yxvc;          calzx[plane] = zpiano[plane] + var.yxvc;
5675          calzy[plane] = zpiano[plane] + var.yyvc;          calzy[plane] = zpiano[plane] + var.yyvc;
# Line 5629  void FEVdetector::ShowTrack(){ Line 5718  void FEVdetector::ShowTrack(){
5718        //        //
5719        for (Int_t plane = 0; plane < 22; plane++){              for (Int_t plane = 0; plane < 22; plane++){      
5720          calx[plane] = (ctra->tbar[plane][0]/100.)*var.sfx + var.xxvc;;          calx[plane] = (ctra->tbar[plane][0]/100.)*var.sfx + var.xxvc;;
5721          caly[plane] = (ctra->tbar[plane][1]/100.)*var.sfx + var.xyvc;          caly[plane] = (-ctra->tbar[plane][1]/100.)*var.sfx + var.xyvc;
5722          //      calzx[plane] = zpiano[plane] -5.81*var.sfy/1000. + var.yxvc;          //      calzx[plane] = zpiano[plane] -5.81*var.sfy/1000. + var.yxvc;
5723          calzx[plane] = zpiano[plane] + var.yxvc;          calzx[plane] = zpiano[plane] + var.yxvc;
5724          calzy[plane] = zpiano[plane] + var.yyvc;          calzy[plane] = zpiano[plane] + var.yyvc;
# Line 5716  void FEVdetector::ShowTrack(){ Line 5805  void FEVdetector::ShowTrack(){
5805        //        //
5806        Trajectory *tr = new Trajectory(npoint,zin);                                      Trajectory *tr = new Trajectory(npoint,zin);                              
5807        //        //
5808        ifail = track->DoTrack2(tr);        //      ifail = track->DoTrack2(tr);
5809          ifail = track->DoTrack(tr);
5810        //        //
5811        if ( !ifail ){        if ( !ifail ){
5812          for ( Int_t e = 0; e < npoint ; e++) {          for ( Int_t e = 0; e < npoint ; e++) {
5813            tx[e] = ((float)tr->x[e]/100.)*var.sfx + var.xxvc;            tx[e] = ((float)tr->x[e]/100.)*var.sfx + var.xxvc;
5814            ty[e] = ((float)tr->y[e]/100.)*var.sfx + var.xyvc;            ty[e] = (-(float)tr->y[e]/100.)*var.sfx + var.xyvc;
5815            if ( e < 50 ) {            if ( e < 50 ) {
5816              ptx1[e] = ((float)tr->y[e]/100.)*var.sfx + var.xcat;              ptx1[e] = (-(float)tr->y[e]/100.)*var.sfx + var.xcat;
5817              pty1[e] = ((float)tr->x[e]/100.)*var.sfy + var.ycat;              pty1[e] = ((float)tr->x[e]/100.)*var.sfy + var.ycat;
5818            } else {            } else {
5819              ptx2[e-50] = ((float)tr->y[e]/100.)*var.sfx + var.xcat;              ptx2[e-50] = (-(float)tr->y[e]/100.)*var.sfx + var.xcat;
5820              pty2[e-50] = ((float)tr->x[e]/100.)*var.sfy + var.ycat;              pty2[e-50] = ((float)tr->x[e]/100.)*var.sfy + var.ycat;
5821            };            };
5822            if ( e > 84 ) {            if ( e > 84 ) {
5823              tx1[e-85] = ((float)tr->x[e]/100.)*var.nds4 + var.xxvc;              tx1[e-85] = ((float)tr->x[e]/100.)*var.nds4 + var.xxvc;
5824              ty1[e-85] = ((float)tr->y[e]/100.)*var.nds4 + var.xyvc;                  ty1[e-85] = (-(float)tr->y[e]/100.)*var.nds4 + var.xyvc;    
5825              tzx1[e-85] = (0.112)*var.sfy+((float)zin[e]/100.)*var.sfy + var.yxvc;              tzx1[e-85] = (0.112)*var.sfy+((float)zin[e]/100.)*var.sfy + var.yxvc;
5826              tzy1[e-85] = (0.112)*var.sfy+((float)zin[e]/100.)*var.sfy + var.yyvc;              tzy1[e-85] = (0.112)*var.sfy+((float)zin[e]/100.)*var.sfy + var.yyvc;
5827            };            };
# Line 5971  void FEVdetector::ShowCalo(Bool_t upd){ Line 6061  void FEVdetector::ShowCalo(Bool_t upd){
6061                Xview->Draw("box same");                Xview->Draw("box same");
6062              };                                            };                              
6063              if ( l == 1 ) {                                      if ( l == 1 ) {                        
6064                Yview->Fill(n,21-m,1.);                Yview->Fill(95-n,21-m,1.);
6065                pd2->cd();                pd2->cd();
6066                Yview->Draw("box same");                Yview->Draw("box same");
6067              };              };
# Line 6200  void FEVdetector::ShowCalo(Bool_t upd){ Line 6290  void FEVdetector::ShowCalo(Bool_t upd){
6290                    Xview->Draw("box same");                    Xview->Draw("box same");
6291                  };                                                    };                                  
6292                  if ( l == 1 ) {                                      if ( l == 1 ) {                    
6293                    Yview->Fill(n,21-m,1.);                    Yview->Fill(96-n,21-m,1.);
6294                    pd2->cd();                    pd2->cd();
6295                    Yview->Draw("box same");                    Yview->Draw("box same");
6296                  };                  };
# Line 6292  void FEVdetector::ShowCalo(Bool_t upd){ Line 6382  void FEVdetector::ShowCalo(Bool_t upd){
6382        Int_t l;        Int_t l;
6383        Int_t m;        Int_t m;
6384        Int_t n;        Int_t n;
6385        Float_t mip = L2->GetCaloLevel1()->DecodeEstrip(ii,l,m,n);        Bool_t satura = false;
6386          Float_t mip = L2->GetCaloLevel1()->DecodeEstrip(ii,l,m,n,satura);
6387        if ( var.bw ){        if ( var.bw ){
6388          colo = -1;          colo = -1;
6389        } else {        } else {
6390          colo = 1;          colo = 1;
6391        };        };      
6392        ColorMIP(mip,colo);        ColorMIP(mip,colo);
6393        if ( l == 0 ) {        if ( l == 0 ) {
6394          xvev.str("");          xvev.str("");
# Line 6306  void FEVdetector::ShowCalo(Bool_t upd){ Line 6397  void FEVdetector::ShowCalo(Bool_t upd){
6397          xvev << " " << l;          xvev << " " << l;
6398          gDirectory->Delete(xvev.str().c_str());          gDirectory->Delete(xvev.str().c_str());
6399          TH2F *Xview = new TH2F(xvev.str().c_str(),"",96,-0.5,95.5,22,-0.5,21.5);          TH2F *Xview = new TH2F(xvev.str().c_str(),"",96,-0.5,95.5,22,-0.5,21.5);
6400          Xview->SetFillColor(colo);          if ( satura ){
6401              Xview->SetFillColor(kBlack);
6402            } else {
6403              Xview->SetFillColor(colo);
6404            };
6405          Xview->Fill(n,21-m,1.);          Xview->Fill(n,21-m,1.);
6406          pd1->cd();                                            pd1->cd();                                  
6407          Xview->Draw("box same");          Xview->Draw("box same");
# Line 6318  void FEVdetector::ShowCalo(Bool_t upd){ Line 6413  void FEVdetector::ShowCalo(Bool_t upd){
6413          yvev << " " << l;          yvev << " " << l;
6414          gDirectory->Delete(yvev.str().c_str());          gDirectory->Delete(yvev.str().c_str());
6415          TH2F *Yview = new TH2F(yvev.str().c_str(),"",96,-0.5,95.5,22,-0.5,21.5);                            TH2F *Yview = new TH2F(yvev.str().c_str(),"",96,-0.5,95.5,22,-0.5,21.5);                  
6416          Yview->SetFillColor(colo);          if ( satura ){
6417          Yview->Fill(n,21-m,1.);            Yview->SetFillColor(kBlack);
6418            } else {
6419              Yview->SetFillColor(colo);
6420            };
6421            Yview->Fill(96-n,21-m,1.);
6422          pd2->cd();          pd2->cd();
6423          Yview->Draw("box same");          Yview->Draw("box same");
6424        };        };

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.29

  ViewVC Help
Powered by ViewVC 1.1.23