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

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

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

revision 1.15 by pam-fi, Mon Oct 2 13:05:39 2006 UTC revision 1.29 by pam-fi, Mon May 28 10:27:51 2007 UTC
# Line 2  Line 2 
2   * FTrkCalibQLookExpert.cxx   * FTrkCalibQLookExpert.cxx
3   *   *
4   * autor: D.Fedele   * autor: D.Fedele
5   * version v1r13   * version v1r27
6   * Parameters:   * Parameters:
7   *      file - the data file to analyze   *      file - the data file to analyze
8   *      step - select =1 in order to analyze one event at time   *      step - select =1 in order to analyze one event at time
# Line 77  void FTrkCalibQLook_EXPERT(TString file, Line 77  void FTrkCalibQLook_EXPERT(TString file,
77    Int_t nevents=0;    Int_t nevents=0;
78    Int_t minevent = 0;    Int_t minevent = 0;
79    Int_t maxevent = 0;    Int_t maxevent = 0;
80    ULong64_t FOBT[2];    ULong_t FOBT[2];
81        
82    FOBT[0]=0;    FOBT[0]=0;
83    FOBT[1]=0;    FOBT[1]=0;
# Line 188  void FTrkCalibQLook_EXPERT(TString file, Line 188  void FTrkCalibQLook_EXPERT(TString file,
188            
189    Int_t hcevent=hotr->GetEntries();    Int_t hcevent=hotr->GetEntries();
190    Int_t tcevent=totr->GetEntries();    Int_t tcevent=totr->GetEntries();
191    ULong64_t HOBT[hcevent], TOBT[tcevent];    ULong_t HOBT[hcevent], TOBT[tcevent];
192    for (Int_t i = 0; i < hcevent; i++){    for (Int_t i = 0; i < hcevent; i++){
193      hotr->GetEntry(i);      hotr->GetEntry(i);
194      ph = eh4->GetPscuHeader();      ph = eh4->GetPscuHeader();
# Line 273  void FTrkCalibQLook_EXPERT(TString file, Line 273  void FTrkCalibQLook_EXPERT(TString file,
273    
274      //      //
275      // other variables definitions      // other variables definitions
276    
277      Int_t risposta=0;      Int_t risposta=0;
278      stringstream fromfile;      stringstream fromfile;
279    
# Line 418  void FTrkCalibQLook_EXPERT(TString file, Line 419  void FTrkCalibQLook_EXPERT(TString file,
419      for(Int_t n = 0; n<12; n++){      for(Int_t n = 0; n<12; n++){
420        if(ctrk.ncalev[n]==0 && ctrk.calfl[n]==0)calok = 1;//GOOD        if(ctrk.ncalev[n]==0 && ctrk.calfl[n]==0)calok = 1;//GOOD
421            
422                if(ctrk.dspnum[n]==0)
423            continue;
424    
425        nn=ctrk.dspnum[n]-1;        nn=ctrk.dspnum[n]-1;
426        /*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*        /*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
427         *         *
# Line 491  void FTrkCalibQLook_EXPERT(TString file, Line 494  void FTrkCalibQLook_EXPERT(TString file,
494        /******************************************************/        /******************************************************/
495        /* fill histos */        /* fill histos */
496        for(Int_t j = 0; j < 3072; j++){        for(Int_t j = 0; j < 3072; j++){
497          histosig[nn]->Fill((Float_t)j,ctrk.dspsig[nn][j]);          histosig[nn]->Fill(j,ctrk.dspsig[n][j]);
498          histoped[nn]->Fill((Float_t)j,ctrk.dspped[nn][j]);          histoped[nn]->Fill(j,ctrk.dspped[n][j]);
499          if(j<1024) histosiglad[nn][0]->Fill(ctrk.dspsig[nn][j]);          if(j<1024) histosiglad[nn][0]->Fill(ctrk.dspsig[n][j]);
500          if(j>=1024 && j<2048) histosiglad[nn][1]->Fill(ctrk.dspsig[nn][j]);          if(j>=1024 && j<2048) histosiglad[nn][1]->Fill(ctrk.dspsig[n][j]);
501          if(j>=2048 && j<3072) histosiglad[nn][2]->Fill(ctrk.dspsig[nn][j]);          if(j>=2048 && j<3072) histosiglad[nn][2]->Fill(ctrk.dspsig[n][j]);
502        };        };
503        histoasig[nn]->Fill(1,ctrk.sig1[nn]);        histoasig[nn]->Fill(1,ctrk.sig1[n]);
504        histoasig[nn]->Fill(1025,ctrk.sig2[nn]);        histoasig[nn]->Fill(1025,ctrk.sig2[n]);
505        histoasig[nn]->Fill(2049,ctrk.sig3[nn]);        histoasig[nn]->Fill(2049,ctrk.sig3[n]);
506        histoaped[nn]->Fill(1,ctrk.ped1[nn]);        histoaped[nn]->Fill(1,ctrk.ped1[nn]);
507        histoaped[nn]->Fill(1025,ctrk.ped2[nn]);        histoaped[nn]->Fill(1025,ctrk.ped2[n]);
508        histoaped[nn]->Fill(2049,ctrk.ped3[nn]);        histoaped[nn]->Fill(2049,ctrk.ped3[n]);
509        /******************************************************/        /******************************************************/
510                    
511        TLine li;        TLine li,liva1;
512        li.SetLineColor(38);        li.SetLineColor(38);
513        li.SetLineStyle(3);        li.SetLineStyle(4);
514        li.SetLineWidth(2);        li.SetLineWidth(2);
515                liva1.SetLineColor(42);
516        Float_t maxhist=0;        liva1.SetLineStyle(3);
517          liva1.SetLineWidth(1);
518    
519          Float_t maxhist=0,va1x=0;
520        TBox b;        TBox b;
521        /* plot PEDESTAL */        /* plot PEDESTAL */
522        c1->cd();        c1->cd();
# Line 529  void FTrkCalibQLook_EXPERT(TString file, Line 535  void FTrkCalibQLook_EXPERT(TString file,
535        if((nn+1)%2==0)  histoped[nn]->GetYaxis()->SetRangeUser(700,1700);        if((nn+1)%2==0)  histoped[nn]->GetYaxis()->SetRangeUser(700,1700);
536        histoaped[nn]->SetLineColor(5);        histoaped[nn]->SetLineColor(5);
537        histoaped[nn]->SetLineWidth(1);        histoaped[nn]->SetLineWidth(1);
538        if(ctrk.good0[0]==1 && ctrk.good0[1]==1){  //       if(ctrk.good0[0]==1 && ctrk.good0[1]==1){
539          histoped[nn]->Draw("b");          histoped[nn]->Draw("b");
540          if(nn==1){          maxhist=histoped[nn]->GetMaximum();
541            maxhist=histoped[nn]->GetMaximum();          if(nn==0){
542              b.SetFillColor(107);
543              b.SetFillStyle(3945);
544              b.DrawBox(256.,2200.,384.,maxhist);
545              b.DrawBox(768.,2200.,2047.,maxhist);
546            }
547            else if(nn==1){
548            b.SetFillColor(6);            b.SetFillColor(6);
549            b.SetFillStyle(3945);            b.SetFillStyle(3945);
550            b.DrawBox(2944.,700.,3060.,maxhist);            b.DrawBox(2944.,700.,3060.,maxhist);
551    
552            b.SetFillColor(107);            b.SetFillColor(107);
553            b.SetFillStyle(3954);            b.SetFillStyle(3954);
554              b.DrawBox(384.,700.,512.,maxhist);
555              b.DrawBox(2048.,700.,2432.,maxhist);
556            b.DrawBox(2816.,700.,2944.,maxhist);            b.DrawBox(2816.,700.,2944.,maxhist);
557            b.DrawBox(2048.,700.,2176.,maxhist);          }
558            else if(nn==3){
559              b.SetFillColor(107);
560              b.SetFillStyle(3954);
561              b.DrawBox(2816.,700.,3070.,maxhist);
562          }          }
563          else if(nn==4){          else if(nn==4){
           maxhist=histoped[nn]->GetMaximum();  
564            b.SetFillColor(107);            b.SetFillColor(107);
565            b.SetFillStyle(3954);            b.SetFillStyle(3954);
566            b.DrawBox(384.,2200.,512.,maxhist);            b.DrawBox(256.,2200.,512.,maxhist);
567              b.DrawBox(2816.,2200.,3070.,maxhist);
568            }
569            else if(nn==5){
570              b.SetFillColor(107);
571              b.SetFillStyle(3954);
572              b.DrawBox(896.,700.,1024.,maxhist);      
573          }          }
574          else if(nn==6){          else if(nn==6){
           maxhist=histoped[nn]->GetMaximum();  
           b.SetFillColor(6);  
           b.SetFillStyle(3945);  
           b.DrawBox(2560.,2200.,2816.,maxhist);  
           b.DrawBox(1024.,2200.,1535.,maxhist);  
             
575            b.SetFillColor(107);            b.SetFillColor(107);
576            b.SetFillStyle(3954);            b.SetFillStyle(3954);
577            b.DrawBox(512.,2200.,768.,maxhist);            b.DrawBox(512.,2200.,768.,maxhist);
578            b.DrawBox(1536.,2200.,1792.,maxhist);            b.DrawBox(1024.,2200.,1280.,maxhist);
579              b.DrawBox(1280.,2200.,1792.,maxhist);
580              b.DrawBox(2560.,2200.,2816.,maxhist);
581          }          }
582          else if(nn==7){          else if(nn==7){
           maxhist=histoped[nn]->GetMaximum();  
583            b.SetFillColor(107);            b.SetFillColor(107);
584            b.SetFillStyle(3954);            b.SetFillStyle(3954);
585            b.DrawBox(512.,700.,768.,maxhist);            b.DrawBox(512.,700.,768.,maxhist);
586              b.DrawBox(896.,700.,1535.,maxhist);
587              b.DrawBox(2024.,700.,2280.,maxhist);
588            }
589            else if(nn==8){
590              b.SetFillColor(107);
591              b.SetFillStyle(3954);
592              b.DrawBox(512.,2200.,768.,maxhist);
593          }          }
594          else if(nn==9){          else if(nn==9){
           maxhist=histoped[nn]->GetMaximum();  
595            b.SetFillColor(107);            b.SetFillColor(107);
596            b.SetFillStyle(3954);            b.SetFillStyle(3954);
597              b.DrawBox(0.,700.,128.,maxhist);
598            b.DrawBox(256.,700.,384.,maxhist);            b.DrawBox(256.,700.,384.,maxhist);
599              b.DrawBox(512.,700.,640.,maxhist);
600              b.DrawBox(896.,700.,1024.,maxhist);
601              b.DrawBox(1280.,700.,1535.,maxhist);
602              b.DrawBox(1792.,700.,1920.,maxhist);
603            }
604            else if(nn==10){
605              b.SetFillColor(107);
606              b.SetFillStyle(3954);
607              b.DrawBox(0.,2200.,256.,maxhist);
608              b.DrawBox(1024.,2200.,1152.,maxhist);
609              b.DrawBox(1768.,2200.,3070.,maxhist);
610          }          }
611          else if(nn==11){          else if(nn==11){
           maxhist=histoped[nn]->GetMaximum();  
612            b.SetFillColor(6);            b.SetFillColor(6);
613            b.SetFillStyle(3945);            b.SetFillStyle(3945);
614            b.DrawBox(768.,700.,1024.,maxhist);            b.DrawBox(768.,700.,1024.,maxhist);
# Line 581  void FTrkCalibQLook_EXPERT(TString file, Line 616  void FTrkCalibQLook_EXPERT(TString file,
616            b.SetFillColor(107);            b.SetFillColor(107);
617            b.SetFillStyle(3954);            b.SetFillStyle(3954);
618            b.DrawBox(0.,700.,512.,maxhist);            b.DrawBox(0.,700.,512.,maxhist);
619            b.DrawBox(1920.,700.,2048.,maxhist);            b.DrawBox(1920.,700.,2560.,maxhist);
620            b.DrawBox(2176.,700.,2304.,maxhist);            b.DrawBox(2816.,700.,3070.,maxhist);
621          }          }
622        }  //     }
623        else histoped[nn]->Draw("axis");  //       else histoped[nn]->Draw("axis");
624        histoaped[nn]->Draw("same");        histoaped[nn]->Draw("same");
625        if((nn+1)%2==1) {        if((nn+1)%2==1) {
626          li.DrawLine(1024.5,2200,1024.5,3200);          for(int va=1; va<24; va++){
627          li.DrawLine(2048.5,2200,2048.5,3200);            va1x=128*va;
628              liva1.DrawLine(va1x,2200.,va1x,3200.);
629            }
630            li.DrawLine(1024.5,2200.,1024.5,3200.);
631            li.DrawLine(2048.5,2200.,2048.5,3200.);
632        }        }
633        if((nn+1)%2==0) {        if((nn+1)%2==0) {
634            for(int va=1; va<24; va++){
635              va1x=128*va;
636              liva1.DrawLine(va1x,700.,va1x,1700.);
637            }
638          li.DrawLine(1024.5,700,1024.5,1700);          li.DrawLine(1024.5,700,1024.5,1700);
639          li.DrawLine(2048.5,700,2048.5,1700);          li.DrawLine(2048.5,700,2048.5,1700);
640        }        }
641          c1->Update();//draw pads in canvas
642                
643    
644                
# Line 617  void FTrkCalibQLook_EXPERT(TString file, Line 661  void FTrkCalibQLook_EXPERT(TString file,
661        histosig[nn]->GetYaxis()->CenterTitle();        histosig[nn]->GetYaxis()->CenterTitle();
662        histoasig[nn]->SetLineColor(5);        histoasig[nn]->SetLineColor(5);
663        histoasig[nn]->SetLineWidth(1);        histoasig[nn]->SetLineWidth(1);
664        if(ctrk.good0[0]==1 && ctrk.good0[1]==1){  //      if(ctrk.good0[0]==1 && ctrk.good0[1]==1){
665          histosig[nn]->Draw("b");          histosig[nn]->Draw("b");
666          if(nn==1){          maxhist=histosig[nn]->GetMaximum();
667            maxhist=histosig[nn]->GetMaximum();          if(nn==0){
668              b.SetFillColor(107);
669              b.SetFillStyle(3945);
670              b.DrawBox(256.,0.,384.,maxhist);
671              b.DrawBox(768.,0.,2047.,maxhist);
672            }
673            else if(nn==1){
674            b.SetFillColor(6);            b.SetFillColor(6);
675            b.SetFillStyle(3945);            b.SetFillStyle(3945);
676            b.DrawBox(2944.,0.,3060.,maxhist);            b.DrawBox(2944.,0.,3070.,maxhist);
677    
678            b.SetFillColor(107);            b.SetFillColor(107);
679            b.SetFillStyle(3954);            b.SetFillStyle(3954);
680              b.DrawBox(384.,0.,512.,maxhist);
681              b.DrawBox(2048.,0.,2432.,maxhist);
682            b.DrawBox(2816.,0.,2944.,maxhist);            b.DrawBox(2816.,0.,2944.,maxhist);
683            b.DrawBox(2048.,0.,2176.,maxhist);          }
684            else if(nn==3){
685              b.SetFillColor(107);
686              b.SetFillStyle(3954);
687              b.DrawBox(2816.,0.,3070.,maxhist);
688          }          }
689          else if(nn==4){          else if(nn==4){
           maxhist=histosig[nn]->GetMaximum();  
690            b.SetFillColor(107);            b.SetFillColor(107);
691            b.SetFillStyle(3954);            b.SetFillStyle(3954);
692            b.DrawBox(384.,0.,512.,maxhist);            b.DrawBox(256.,0.,512.,maxhist);
693              b.DrawBox(2816.,0.,3070.,maxhist);
694            }
695            else if(nn==5){
696              b.SetFillColor(107);
697              b.SetFillStyle(3954);
698              b.DrawBox(896.,0.,1024.,maxhist);      
699          }          }
700          else if(nn==6){          else if(nn==6){
           maxhist=histosig[nn]->GetMaximum();  
           b.SetFillColor(6);  
           b.SetFillStyle(3945);  
           b.DrawBox(2560.,0.,2816.,maxhist);  
           b.DrawBox(1024.,0.,1535.,maxhist);  
             
701            b.SetFillColor(107);            b.SetFillColor(107);
702            b.SetFillStyle(3954);            b.SetFillStyle(3954);
703            b.DrawBox(512.,0.,768.,maxhist);            b.DrawBox(512.,0.,768.,maxhist);
704            b.DrawBox(1536.,0.,1792.,maxhist);            b.DrawBox(1024.,0.,1280.,maxhist);
705              b.DrawBox(1280.,0.,1792.,maxhist);
706              b.DrawBox(2560.,0.,2816.,maxhist);
707          }          }
708          else if(nn==7){          else if(nn==7){
709            maxhist=histosig[nn]->GetMaximum();            b.SetFillColor(107);
710              b.SetFillStyle(3954);
711              b.DrawBox(512.,0.,768.,maxhist);
712              b.DrawBox(896.,0.,1535.,maxhist);
713              b.DrawBox(2024.,0.,2280.,maxhist);
714            }
715            else if(nn==8){
716            b.SetFillColor(107);            b.SetFillColor(107);
717            b.SetFillStyle(3954);            b.SetFillStyle(3954);
718            b.DrawBox(512.,0.,768.,maxhist);            b.DrawBox(512.,0.,768.,maxhist);
719          }          }
720          else if(nn==9){          else if(nn==9){
           maxhist=histosig[nn]->GetMaximum();  
721            b.SetFillColor(107);            b.SetFillColor(107);
722            b.SetFillStyle(3954);            b.SetFillStyle(3954);
723              b.DrawBox(0.,0.,128.,maxhist);
724            b.DrawBox(256.,0.,384.,maxhist);            b.DrawBox(256.,0.,384.,maxhist);
725              b.DrawBox(512.,0.,640.,maxhist);
726              b.DrawBox(896.,0.,1024.,maxhist);
727              b.DrawBox(1280.,0.,1535.,maxhist);
728              b.DrawBox(1792.,0.,1920.,maxhist);
729            }
730            else if(nn==10){
731              b.SetFillColor(107);
732              b.SetFillStyle(3954);
733              b.DrawBox(0.,0.,256.,maxhist);
734              b.DrawBox(1024.,0.,1152.,maxhist);
735              b.DrawBox(1768.,0.,3070.,maxhist);
736          }          }
737          else if(nn==11){          else if(nn==11){
           maxhist=histosig[nn]->GetMaximum();  
738            b.SetFillColor(6);            b.SetFillColor(6);
739            b.SetFillStyle(3945);            b.SetFillStyle(3945);
740            b.DrawBox(768.,0.,1024.,maxhist);            b.DrawBox(768.,0.,1024.,maxhist);
# Line 669  void FTrkCalibQLook_EXPERT(TString file, Line 742  void FTrkCalibQLook_EXPERT(TString file,
742            b.SetFillColor(107);            b.SetFillColor(107);
743            b.SetFillStyle(3954);            b.SetFillStyle(3954);
744            b.DrawBox(0.,0.,512.,maxhist);            b.DrawBox(0.,0.,512.,maxhist);
745            b.DrawBox(1920.,0.,2048.,maxhist);            b.DrawBox(1920.,0.,2560.,maxhist);
746            b.DrawBox(2176.,0.,2304.,maxhist);            b.DrawBox(2816.,0.,3070.,maxhist);
747          }          }
748        }  //       }
749        else histosig[nn]->Draw("axis");  //       else histosig[nn]->Draw("axis");
750        histoasig[nn]->Draw("same");        histoasig[nn]->Draw("same");
751          for(int va=1; va<24; va++){
752            va1x=128*va;
753            liva1.DrawLine(va1x,0.,va1x,max);
754          }
755        li.DrawLine(1024.5,0,1024.5,max);        li.DrawLine(1024.5,0,1024.5,max);
756        li.DrawLine(2048.5,0,2048.5,max);        li.DrawLine(2048.5,0,2048.5,max);
757          c2->Update();//draw pads in canvas
758                
759        for(int ii=0;ii<3;ii++){        for(int ii=0;ii<3;ii++){
760          sig->cd();          sig->cd();
# Line 691  void FTrkCalibQLook_EXPERT(TString file, Line 769  void FTrkCalibQLook_EXPERT(TString file,
769          histosiglad[nn][ii]->GetXaxis()->SetTitle("SIG (ADC channels)");          histosiglad[nn][ii]->GetXaxis()->SetTitle("SIG (ADC channels)");
770          histosiglad[nn][ii]->GetXaxis()->CenterTitle();          histosiglad[nn][ii]->GetXaxis()->CenterTitle();
771          histosiglad[nn][ii]->Draw("");            histosiglad[nn][ii]->Draw("");  
772        }        }
773              
774      };//end loop on views      };//end loop on views
775      c1->Update();//draw pads in canvas      c1->Update();//draw pads in canvas
776      c2->Update();//draw pads in canvas      c2->Update();//draw pads in canvas

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

  ViewVC Help
Powered by ViewVC 1.1.23