/[PAMELA software]/quicklook/tracker/flight/macros/FTrkScanQLook_EXPERT.cxx
ViewVC logotype

Diff of /quicklook/tracker/flight/macros/FTrkScanQLook_EXPERT.cxx

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

revision 1.23 by pam-fi, Mon Jan 8 14:34:59 2007 UTC revision 1.30 by pam-fi, Wed Jan 2 15:57:10 2008 UTC
# Line 2  Line 2 
2   *  FTrkScanQlook_EXPERT.cxx   *  FTrkScanQlook_EXPERT.cxx
3   *   *
4   * autor: D.Fedele   * autor: D.Fedele
5   * version v2r02   * version v2r08
6   * Parameters:   * Parameters:
7   *      file - the path to the root file to analyze   *      file - the path to the root file to analyze
8   *      outdir - total path of output file   *      outdir - total path of output file
# Line 202  void FTrkScanQLook_EXPERT(TString file, Line 202  void FTrkScanQLook_EXPERT(TString file,
202    printf(" Number of Header Entries: %d\n",neventH);    printf(" Number of Header Entries: %d\n",neventH);
203    printf(" Number of Calibration: %d\n",cevents);    printf(" Number of Calibration: %d\n",cevents);
204        
205    Long64_t obt=0,hobt[neventH];      ULong_t obt=0,hobt[neventH];  
206    Int_t eve,cin=0,cins=0,br=0;    Int_t eve,cin=0,cins=0,br=0,olrun[neventH];
207    TString cal="";    TString cal="";
208        
209    eve=3;    eve=3;
# Line 211  void FTrkScanQLook_EXPERT(TString file, Line 211  void FTrkScanQLook_EXPERT(TString file,
211      otr->GetEntry(i);      otr->GetEntry(i);
212      pH = eH->GetPscuHeader();      pH = eH->GetPscuHeader();
213      hobt[i]= pH->GetOrbitalTime();      hobt[i]= pH->GetOrbitalTime();
214        olrun[i]=reh->TRK_CALIB_USED;
215      if(reh->TRK_CALIB_USED!=104 && br==0){      if(reh->TRK_CALIB_USED!=104 && br==0){
216        obt = pH->GetOrbitalTime();        obt = pH->GetOrbitalTime();
217        cal="Event with online calibration";        cal="Event with online calibration";
# Line 242  void FTrkScanQLook_EXPERT(TString file, Line 243  void FTrkScanQLook_EXPERT(TString file,
243        
244    TPad *trkpad[12];          //pad for histos    TPad *trkpad[12];          //pad for histos
245    
246    stringstream fromfile,title,hid,message;    stringstream fromfile,isfile,title,hid,message;
247    TString figsa="",figsav="",figsava="";    TString figsa="",figsav="",figsava="";
248    Int_t canvasx=1200;    Int_t canvasx=1200;
249    Int_t canvasy=900;    Int_t canvasy=900;
# Line 268  void FTrkScanQLook_EXPERT(TString file, Line 269  void FTrkScanQLook_EXPERT(TString file,
269      for(Int_t i=0;i<nevents;i++){      for(Int_t i=0;i<nevents;i++){
270        tr->GetEntry(i);        tr->GetEntry(i);
271        ph = eh->GetPscuHeader();        ph = eh->GetPscuHeader();
       if(reh->TRK_CALIB_USED==104) continue;  
272        cod = eh->GetCounter();        cod = eh->GetCounter();
273          if(olrun[cod->Get(pctp->RunHeader)-1]==104) continue;
274        if(value%10!=0){        if(value%10!=0){
275          if(i==0) cin=cod->Get(pctp->CalibTrk1)+((value%10)-1);          if(i==0) cin=cod->Get(pctp->CalibTrk1)+((value%10)-1);
276          if(cod->Get(pctp->CalibTrk1)==cin+1){          if(cod->Get(pctp->CalibTrk1)==cin+1){
# Line 283  void FTrkScanQLook_EXPERT(TString file, Line 284  void FTrkScanQLook_EXPERT(TString file,
284            eve=i+3;            eve=i+3;
285            cin=100;            cin=100;
286          }          }
287          else if(event>=0 && ph->GetOrbitalTime()>obt && obt>0){          else if(event>=0 && (ULong_t)ph->GetOrbitalTime()>obt && obt>0){
288            eve=i+3;            eve=i+3;
289            obt=-1;            obt=0;
290          }          }
291        }        }
292        if(i==0) cins=cod->Get(pctp->CalibTrk1);        if(i==0) cins=cod->Get(pctp->CalibTrk1);
293        if(cod->Get(pctp->CalibTrk1)==cins+1){        if(cod->Get(pctp->CalibTrk1)>cins){
294          psum=1;          psum=1;
295          cins=cod->Get(pctp->CalibTrk1);          cins=cod->Get(pctp->CalibTrk1);
296        }        }
# Line 440  void FTrkScanQLook_EXPERT(TString file, Line 441  void FTrkScanQLook_EXPERT(TString file,
441        if(psum==totsum+1){        if(psum==totsum+1){
442          if(value%10==0 && value>0) values << (short int)(-cins) << endl << endl;          if(value%10==0 && value>0) values << (short int)(-cins) << endl << endl;
443          psum=0;          psum=0;
444          for(Int_t vi = 0; vi < 12; vi++){          for(Int_t vi = 0; vi < 12; vi++){        
445            TLine li,liva1;            if(p[vi]>0){
446            li.SetLineColor(38);  
447            li.SetLineStyle(4);              TLine li,liva1;
448            li.SetLineWidth(2);              li.SetLineColor(38);
449            liva1.SetLineColor(42);              li.SetLineStyle(4);
450            liva1.SetLineStyle(3);              li.SetLineWidth(2);
451            liva1.SetLineWidth(1);              liva1.SetLineColor(42);
452                liva1.SetLineStyle(3);
453                liva1.SetLineWidth(1);
454                        
455            Float_t va1x=0;              Float_t va1x=0;
456            csum[cins-1]->cd();              csum[cins-1]->cd();
457            trkpad[vi]->Draw();              trkpad[vi]->Draw();
458            trkpad[vi]->cd();              trkpad[vi]->cd();
459            trkpad[vi]->SetFillColor(10);              trkpad[vi]->SetFillColor(10);
460                        
461            stringstream tit,hid;              stringstream tit,hid;
462            tit.str("");              tit.str("");
463            hid.str("");              hid.str("");
464            tit<<"DSP "<<vi+1;              tit<<"DSP "<<vi+1;
465            sum[vi][cins-1][0]->SetTitle(tit.str().c_str());              sum[vi][cins-1][0]->SetTitle(tit.str().c_str());
466            sum[vi][cins-1][0]->GetXaxis()->SetTitle("channel id");              sum[vi][cins-1][0]->GetXaxis()->SetTitle("channel id");
467            sum[vi][cins-1][0]->GetXaxis()->CenterTitle();              sum[vi][cins-1][0]->GetXaxis()->CenterTitle();
468            sum[vi][cins-1][0]->GetXaxis()->SetRangeUser(0,3073);              sum[vi][cins-1][0]->GetXaxis()->SetRangeUser(0,3073);
469            sum[vi][cins-1][0]->GetXaxis()->SetTitleSize(0.06);              sum[vi][cins-1][0]->GetXaxis()->SetTitleSize(0.06);
470            sum[vi][cins-1][0]->GetXaxis()->SetTitleOffset(0.8);              sum[vi][cins-1][0]->GetXaxis()->SetTitleOffset(0.8);
471            sum[vi][cins-1][0]->GetYaxis()->SetTitle("ADC value");              sum[vi][cins-1][0]->GetYaxis()->SetTitle("ADC value");
472            sum[vi][cins-1][0]->GetYaxis()->SetTitleSize(0.09);              sum[vi][cins-1][0]->GetYaxis()->SetTitleSize(0.09);
473            sum[vi][cins-1][0]->GetYaxis()->SetTitleOffset(0.4);              sum[vi][cins-1][0]->GetYaxis()->SetTitleOffset(0.4);
474            sum[vi][cins-1][0]->GetYaxis()->CenterTitle();              sum[vi][cins-1][0]->GetYaxis()->CenterTitle();
475            sum[vi][cins-1][0]->GetYaxis()->SetRangeUser(0,4500);              sum[vi][cins-1][0]->GetYaxis()->SetRangeUser(0,4500);
476            sum[vi][cins-1][0]->SetMarkerStyle(20);              sum[vi][cins-1][0]->SetMarkerStyle(20);
477            sum[vi][cins-1][0]->SetMarkerSize(0.1);              sum[vi][cins-1][0]->SetMarkerSize(0.1);
478            sum[vi][cins-1][0]->SetMarkerColor(4);              sum[vi][cins-1][0]->SetMarkerColor(4);
479            sum[vi][cins-1][0]->Draw("ap");              sum[vi][cins-1][0]->Draw("ap");
480            hid<<p[vi]<<" events";              hid<<p[vi]<<" events";
481            t->SetTextSize(0.11);              t->SetTextSize(0.11);
482            t->DrawLatex(2400,4250,hid.str().c_str());              t->DrawLatex(2400,4250,hid.str().c_str());
483            for(int pi=1; pi<p[vi];pi++){              for(int pi=1; pi<p[vi];pi++){
484              sum[vi][cins-1][pi]->SetMarkerStyle(21);                sum[vi][cins-1][pi]->SetMarkerStyle(21);
485              sum[vi][cins-1][pi]->SetMarkerSize(0.1);                sum[vi][cins-1][pi]->SetMarkerSize(0.1);
486              sum[vi][cins-1][pi]->SetMarkerColor(4);                sum[vi][cins-1][pi]->SetMarkerColor(4);
487              sum[vi][cins-1][pi]->Draw("p");                sum[vi][cins-1][pi]->Draw("p");
488            }              }
489            for(int va=1; va<24; va++){              for(int va=1; va<24; va++){
490              va1x=128*va;                va1x=128*va;
491              liva1.DrawLine(va1x,0.,va1x,4500.);                liva1.DrawLine(va1x,0.,va1x,4500.);
492                }
493                li.DrawLine(1024.5,0.,1024.5,4500.);
494                li.DrawLine(2048.5,0.,2048.5,4500.);
495                csum[cins-1]->Update();
496                hid.str("");
497            }            }
           li.DrawLine(1024.5,0.,1024.5,4500.);  
           li.DrawLine(2048.5,0.,2048.5,4500.);  
           csum[cins-1]->Update();  
           hid.str("");  
498          }          }
499          if(strcmp(outfile.Data(),"ps") && strcmp(outfile.Data(),"pdf")){          if(strcmp(outfile.Data(),"ps") && strcmp(outfile.Data(),"pdf")){
500            figsa+="."+outfile;            figsa+="."+outfile;
501            csum[cins-1]->Print(figsa.Data());            csum[cins-1]->Print(figsa.Data());
502          }          }
503        }          if(cod->Get(pctp->CalibTrk1)==cevents) break;
504                }
505      }      }
506    }    }
507    
# Line 564  void FTrkScanQLook_EXPERT(TString file, Line 568  void FTrkScanQLook_EXPERT(TString file,
568        t->SetTextSize(0.02);        t->SetTextSize(0.02);
569        t->DrawLatex(0.02,0.98,fromfile.str().c_str());        t->DrawLatex(0.02,0.98,fromfile.str().c_str());
570        t->DrawLatex(0.60,0.98,cal.Data());        t->DrawLatex(0.60,0.98,cal.Data());
571      
572          isfile<<"Chips with white line at least once showed anomalous behaviour";
573          t->SetTextColor(1);
574          t->SetTextSize(0.018);
575          t->DrawLatex(.05,.96,isfile.str().c_str());
576          isfile.str("");
577          
578          isfile<<"Boxes so colored point out anomalous chips (not necessarily broken)";
579          t->SetTextColor(107);
580          //      t->DrawLatex(.5,.96,isfile.str().c_str());
581          isfile.str("");
582          t->SetTextColor(1);
583    
584        if(va1!=0){        if(va1!=0){
585          figsava=out+ffile+"_FTrkScanQLook_EXPERT_ev";          figsava=out+ffile+"_FTrkScanQLook_EXPERT_ev";
# Line 832  void FTrkScanQLook_EXPERT(TString file, Line 848  void FTrkScanQLook_EXPERT(TString file,
848            liva1.SetLineStyle(3);            liva1.SetLineStyle(3);
849            liva1.SetLineWidth(1);            liva1.SetLineWidth(1);
850    
851            Float_t va1x=0;            Float_t va1x=0,maxhist=4500.,minhist=-500.;
852    
853            if(va1!=0){            if(va1!=0){
854              cva[e]->cd();              cva[e]->cd();
# Line 877  void FTrkScanQLook_EXPERT(TString file, Line 893  void FTrkScanQLook_EXPERT(TString file,
893            if(icomp[nn]==1) histocomp[nn][e]->Draw("9bsame][");            if(icomp[nn]==1) histocomp[nn][e]->Draw("9bsame][");
894            if(imax[nn]==1) histomax[nn][e]->Draw("same][");            if(imax[nn]==1) histomax[nn][e]->Draw("same][");
895            histocomp[nn][e]->Draw("axis same");            histocomp[nn][e]->Draw("axis same");
896              
897              b.SetFillColor(19);
898              b.SetFillStyle(3945);
899            if(nn==0){            if(nn==0){
900              b.SetFillColor(107);              b.DrawBox(0.,minhist,2047.,maxhist);
             b.SetFillStyle(3945);  
             b.DrawBox(768.,-500.,2047.,4500.);  
901            }            }
902            else if(nn==1){            else if(nn==1){
903              b.SetFillColor(6);              b.DrawBox(128.,minhist,256.,maxhist);
904              b.SetFillStyle(3945);              b.DrawBox(384.,minhist,512.,maxhist);
905              b.DrawBox(2944.,-500.,3060.,4500.);              b.DrawBox(896.,minhist,1024.,maxhist);
906                        b.DrawBox(2048.,minhist,2432.,maxhist);
907              b.SetFillColor(107);              b.DrawBox(2816.,minhist,2944.,maxhist);
908              b.SetFillStyle(3954);              b.DrawBox(2944.,minhist,3070.,maxhist);
909              b.DrawBox(384.,-500.,512.,4500.);            }
910              b.DrawBox(2048.,-500.,2432.,4500.);            else if(nn==3){
911              b.DrawBox(2816.,-500.,2944.,4500.);              b.DrawBox(0.,minhist,256.,maxhist);
912                b.DrawBox(2816.,minhist,3070.,maxhist);
913            }            }
914            else if(nn==4){            else if(nn==4){
915              b.SetFillColor(107);              b.DrawBox(256.,minhist,512.,maxhist);
916              b.SetFillStyle(3954);              b.DrawBox(1792.,minhist,1920.,maxhist);
917              b.DrawBox(384.,-500.,512.,4500.);              b.DrawBox(2816.,minhist,3070.,maxhist);
918              b.DrawBox(2816.,-500.,2944.,4500);            }
919              else if(nn==5){
920                b.DrawBox(0.,minhist,256.,maxhist);
921                b.DrawBox(896.,minhist,1024.,maxhist);
922                b.DrawBox(1664.,minhist,1792.,maxhist);      
923            }            }
924            else if(nn==6){            else if(nn==6){
925              b.SetFillColor(6);              b.DrawBox(512.,minhist,768.,maxhist);
926              b.SetFillStyle(3945);              b.DrawBox(1024.,minhist,1280.,maxhist);
927              b.DrawBox(1024.,-500.,1280.,4500.);              b.DrawBox(1280.,minhist,1792.,maxhist);
928                        b.DrawBox(2560.,minhist,2816.,maxhist);
             b.SetFillColor(107);  
             b.SetFillStyle(3954);  
             b.DrawBox(512.,-500.,768.,4500.);  
             b.DrawBox(1280.,-500.,1792.,4500.);  
             b.DrawBox(2560.,-500.,2816.,4500.);  
929            }            }
930            else if(nn==7){            else if(nn==7){
931              b.SetFillColor(107);              b.DrawBox(0.,minhist,1535.,maxhist);
932              b.SetFillStyle(3954);              b.DrawBox(2024.,minhist,2280.,maxhist);
             b.DrawBox(512.,-500.,768.,4500.);  
933            }            }
934            else if(nn==8){            else if(nn==8){
935              b.SetFillColor(107);              b.DrawBox(512.,minhist,768.,maxhist);
             b.SetFillStyle(3954);  
             b.DrawBox(512.,-500.,768.,4500.);  
936            }            }
937            else if(nn==9){            else if(nn==9){
938              b.SetFillColor(107);              b.DrawBox(0.,minhist,128.,maxhist);
939              b.SetFillStyle(3954);              b.DrawBox(256.,minhist,384.,maxhist);
940              b.DrawBox(256.,-500.,384.,4500.);              b.DrawBox(512.,minhist,640.,maxhist);
941              b.DrawBox(1280.,-500.,1535.,4500.);              b.DrawBox(896.,minhist,1152.,maxhist);
942              b.DrawBox(1792.,-500.,1920.,4500.);              b.DrawBox(1280.,minhist,1535.,maxhist);
943                b.DrawBox(1664.,minhist,1920.,maxhist);
944                b.DrawBox(2048.,minhist,2304.,maxhist);
945            }            }
946            else if(nn==10){            else if(nn==10){
947              b.SetFillColor(107);              b.DrawBox(0.,minhist,512.,maxhist);
948              b.SetFillStyle(3954);              b.DrawBox(1024.,minhist,3070.,maxhist);
             b.DrawBox(1024.,-500.,1152.,4500);  
             b.DrawBox(2048.,-500.,3070.,4500.);  
949            }            }
950            else if(nn==11){            else if(nn==11){
951              b.SetFillColor(6);              b.DrawBox(0.,minhist,512.,maxhist);
952              b.SetFillStyle(3945);              b.DrawBox(768.,minhist,1024.,maxhist);
953              b.DrawBox(768.,-500.,1024.,4500.);              b.DrawBox(1536.,minhist,1664.,maxhist);
954                        b.DrawBox(1920.,minhist,2560.,maxhist);
955              b.SetFillColor(107);              b.DrawBox(2816.,minhist,3070.,maxhist);
956              b.SetFillStyle(3954);            }                    
             b.DrawBox(0.,-500.,512.,4500.);  
             b.DrawBox(1920.,-500.,2560.,4500.);  
           }  
957            for(int va=1; va<24; va++){            for(int va=1; va<24; va++){
958              va1x=128*va;              va1x=128*va;
959              liva1.DrawLine(va1x,-500.,va1x,4500.);              liva1.DrawLine(va1x,minhist,va1x,maxhist);
960            }            }
961            li.DrawLine(1024.5,-500.,1024.5,4500.);            li.DrawLine(1024.5,minhist,1024.5,maxhist);
962            li.DrawLine(2048.5,-500.,2048.5,4500.);            li.DrawLine(2048.5,minhist,2048.5,maxhist);
963            c1[e]->Update();            c1[e]->Update();
964          }          }
965                    

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.30

  ViewVC Help
Powered by ViewVC 1.1.23