/[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.12 by pam-fi, Mon Aug 28 14:33:19 2006 UTC revision 1.16 by pam-fi, Thu Oct 12 16:58:34 2006 UTC
# Line 2  Line 2 
2   * FTrkCalibQLookExpert.cxx   * FTrkCalibQLookExpert.cxx
3   *   *
4   * autor: D.Fedele   * autor: D.Fedele
5   * version v1r10   * version v1r14
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 87  void FTrkCalibQLook_EXPERT(TString file, Line 87  void FTrkCalibQLook_EXPERT(TString file,
87    ctrk.good0[1]=0;    ctrk.good0[1]=0;
88    for(Int_t i=0;i<12;i++){    for(Int_t i=0;i<12;i++){
89      ctrk.daqmode[i]=0;      ctrk.daqmode[i]=0;
90      ctrk.dspnum[i]=0;      ctrk.dspnum[i]=100;
91      ctrk.calibnum[i]=0;      ctrk.calibnum[i]=0;
92      ctrk.ncalev[i]=0;      ctrk.ncalev[i]=0;
93      ctrk.calfl[i]=0;      ctrk.calfl[i]=0;
# Line 176  void FTrkCalibQLook_EXPERT(TString file, Line 176  void FTrkCalibQLook_EXPERT(TString file,
176      } else if (toevent > nevents) {              } else if (toevent > nevents) {        
177        maxevent = nevents;        maxevent = nevents;
178      } else {            } else {      
179        maxevent = fromevent;        maxevent = nevents;
180      };      };
181    };    };
182            
# Line 212  void FTrkCalibQLook_EXPERT(TString file, Line 212  void FTrkCalibQLook_EXPERT(TString file,
212        ph = eh1->GetPscuHeader();        ph = eh1->GetPscuHeader();
213        cod = eh1->GetCounter();        cod = eh1->GetCounter();
214        FOBT[0]= ph->GetOrbitalTime();        FOBT[0]= ph->GetOrbitalTime();
215        ctrk.daqmode[trk1->DSPnumber[m]-1]=trk1->DAQmode[m];        if(trk1->DSPnumber[m]>0){
216        ctrk.dspnum[trk1->DSPnumber[m]-1]=trk1->DSPnumber[m];          if(trk1->DSPnumber[m]<13){
217        ctrk.calibnum[trk1->DSPnumber[m]-1]=trk1->calibnumber[m];            ctrk.daqmode[trk1->DSPnumber[m]-1]=trk1->DAQmode[m];
218        ctrk.ncalev[trk1->DSPnumber[m]-1]=trk1->ncalib_event[m];            ctrk.dspnum[trk1->DSPnumber[m]-1]=trk1->DSPnumber[m];
219        ctrk.ped1[trk1->DSPnumber[m]-1]=trk1->ped_l1[m];            ctrk.calibnum[trk1->DSPnumber[m]-1]=trk1->calibnumber[m];
220        ctrk.ped2[trk1->DSPnumber[m]-1]=trk1->ped_l2[m];            ctrk.ncalev[trk1->DSPnumber[m]-1]=trk1->ncalib_event[m];
221        ctrk.ped3[trk1->DSPnumber[m]-1]=trk1->ped_l3[m];            ctrk.ped1[trk1->DSPnumber[m]-1]=trk1->ped_l1[m];
222        ctrk.sig1[trk1->DSPnumber[m]-1]=trk1->sig_l1[m];            ctrk.ped2[trk1->DSPnumber[m]-1]=trk1->ped_l2[m];
223        ctrk.sig2[trk1->DSPnumber[m]-1]=trk1->sig_l2[m];            ctrk.ped3[trk1->DSPnumber[m]-1]=trk1->ped_l3[m];
224        ctrk.sig3[trk1->DSPnumber[m]-1]=trk1->sig_l3[m];            ctrk.sig1[trk1->DSPnumber[m]-1]=trk1->sig_l1[m];
225        ctrk.nbad1[trk1->DSPnumber[m]-1]=trk1->nbad_l1[m];            ctrk.sig2[trk1->DSPnumber[m]-1]=trk1->sig_l2[m];
226        ctrk.nbad2[trk1->DSPnumber[m]-1]=trk1->nbad_l2[m];            ctrk.sig3[trk1->DSPnumber[m]-1]=trk1->sig_l3[m];
227        ctrk.nbad3[trk1->DSPnumber[m]-1]=trk1->nbad_l3[m];            ctrk.nbad1[trk1->DSPnumber[m]-1]=trk1->nbad_l1[m];
228        ctrk.calfl[trk1->DSPnumber[m]-1]=trk1->cal_flag[m];            ctrk.nbad2[trk1->DSPnumber[m]-1]=trk1->nbad_l2[m];
229        ctrk.crc_c[trk1->DSPnumber[m]-1][0]=trk1->crc_cal[m][0];            ctrk.nbad3[trk1->DSPnumber[m]-1]=trk1->nbad_l3[m];
230        ctrk.crc_c[trk1->DSPnumber[m]-1][1]=trk1->crc_cal[m][1];            ctrk.calfl[trk1->DSPnumber[m]-1]=trk1->cal_flag[m];
231        ctrk.crc_c[trk1->DSPnumber[m]-1][2]=trk1->crc_cal[m][2];            ctrk.crc_c[trk1->DSPnumber[m]-1][0]=trk1->crc_cal[m][0];
232        ctrk.crc_hc[trk1->DSPnumber[m]-1]=trk1->crc_hcal[m];            ctrk.crc_c[trk1->DSPnumber[m]-1][1]=trk1->crc_cal[m][1];
233        for (Int_t j = 0; j < 3072; j++){            ctrk.crc_c[trk1->DSPnumber[m]-1][2]=trk1->crc_cal[m][2];
234          ctrk.dspped[trk1->DSPnumber[m]-1][j]=trk1->DSPped_par[m][j];            ctrk.crc_hc[trk1->DSPnumber[m]-1]=trk1->crc_hcal[m];
235          ctrk.dspsig[trk1->DSPnumber[m]-1][j]=trk1->DSPsig_par[m][j];            for (Int_t j = 0; j < 3072; j++){
236          ctrk.dspbad[trk1->DSPnumber[m]-1][j]=trk1->DSPbad_par[m][j];              ctrk.dspped[trk1->DSPnumber[m]-1][j]=trk1->DSPped_par[m][j];
237        };              ctrk.dspsig[trk1->DSPnumber[m]-1][j]=trk1->DSPsig_par[m][j];
238                ctrk.dspbad[trk1->DSPnumber[m]-1][j]=trk1->DSPbad_par[m][j];
239              };
240            }
241          }
242        ph = eh2->GetPscuHeader();        ph = eh2->GetPscuHeader();
243        FOBT[1]= ph->GetOrbitalTime();        FOBT[1]= ph->GetOrbitalTime();
244        ctrk.daqmode[trk2->DSPnumber[m]-1]=trk2->DAQmode[m];        if(trk2->DSPnumber[m]>0){
245        ctrk.dspnum[trk2->DSPnumber[m]-1]=trk2->DSPnumber[m];          if(trk2->DSPnumber[m]<13){
246        ctrk.calibnum[trk2->DSPnumber[m]-1]=trk2->calibnumber[m];            ctrk.daqmode[trk2->DSPnumber[m]-1]=trk2->DAQmode[m];
247        ctrk.ncalev[trk2->DSPnumber[m]-1]=trk2->ncalib_event[m];            ctrk.dspnum[trk2->DSPnumber[m]-1]=trk2->DSPnumber[m];
248        ctrk.ped1[trk2->DSPnumber[m]-1]=trk2->ped_l1[m];            ctrk.calibnum[trk2->DSPnumber[m]-1]=trk2->calibnumber[m];
249        ctrk.ped2[trk2->DSPnumber[m]-1]=trk2->ped_l2[m];            ctrk.ncalev[trk2->DSPnumber[m]-1]=trk2->ncalib_event[m];
250        ctrk.ped3[trk2->DSPnumber[m]-1]=trk2->ped_l3[m];            ctrk.ped1[trk2->DSPnumber[m]-1]=trk2->ped_l1[m];
251        ctrk.sig1[trk2->DSPnumber[m]-1]=trk2->sig_l1[m];            ctrk.ped2[trk2->DSPnumber[m]-1]=trk2->ped_l2[m];
252        ctrk.sig2[trk2->DSPnumber[m]-1]=trk2->sig_l2[m];            ctrk.ped3[trk2->DSPnumber[m]-1]=trk2->ped_l3[m];
253        ctrk.sig3[trk2->DSPnumber[m]-1]=trk2->sig_l3[m];            ctrk.sig1[trk2->DSPnumber[m]-1]=trk2->sig_l1[m];
254        ctrk.nbad1[trk2->DSPnumber[m]-1]=trk2->nbad_l1[m];            ctrk.sig2[trk2->DSPnumber[m]-1]=trk2->sig_l2[m];
255        ctrk.nbad2[trk2->DSPnumber[m]-1]=trk2->nbad_l2[m];            ctrk.sig3[trk2->DSPnumber[m]-1]=trk2->sig_l3[m];
256        ctrk.nbad3[trk2->DSPnumber[m]-1]=trk2->nbad_l3[m];            ctrk.nbad1[trk2->DSPnumber[m]-1]=trk2->nbad_l1[m];
257        ctrk.calfl[trk2->DSPnumber[m]-1]=trk2->cal_flag[m];            ctrk.nbad2[trk2->DSPnumber[m]-1]=trk2->nbad_l2[m];
258        ctrk.crc_c[trk1->DSPnumber[m]-1][0]=trk2->crc_cal[m][0];            ctrk.nbad3[trk2->DSPnumber[m]-1]=trk2->nbad_l3[m];
259        ctrk.crc_c[trk1->DSPnumber[m]-1][1]=trk2->crc_cal[m][1];            ctrk.calfl[trk2->DSPnumber[m]-1]=trk2->cal_flag[m];
260        ctrk.crc_c[trk1->DSPnumber[m]-1][2]=trk2->crc_cal[m][2];            ctrk.crc_c[trk1->DSPnumber[m]-1][0]=trk2->crc_cal[m][0];
261        ctrk.crc_hc[trk1->DSPnumber[m]-1]=trk2->crc_hcal[m];            ctrk.crc_c[trk1->DSPnumber[m]-1][1]=trk2->crc_cal[m][1];
262        for (Int_t j = 0; j < 3072; j++){            ctrk.crc_c[trk1->DSPnumber[m]-1][2]=trk2->crc_cal[m][2];
263          ctrk.dspped[trk2->DSPnumber[m]-1][j]=trk2->DSPped_par[m][j];            ctrk.crc_hc[trk1->DSPnumber[m]-1]=trk2->crc_hcal[m];
264          ctrk.dspsig[trk2->DSPnumber[m]-1][j]=trk2->DSPsig_par[m][j];            for (Int_t j = 0; j < 3072; j++){
265          ctrk.dspbad[trk2->DSPnumber[m]-1][j]=trk2->DSPbad_par[m][j];              ctrk.dspped[trk2->DSPnumber[m]-1][j]=trk2->DSPped_par[m][j];
266                ctrk.dspsig[trk2->DSPnumber[m]-1][j]=trk2->DSPsig_par[m][j];
267                ctrk.dspbad[trk2->DSPnumber[m]-1][j]=trk2->DSPbad_par[m][j];
268              }
269            }
270        }        }
271      }      }
272                                
# Line 410  void FTrkCalibQLook_EXPERT(TString file, Line 418  void FTrkCalibQLook_EXPERT(TString file,
418      for(Int_t n = 0; n<12; n++){      for(Int_t n = 0; n<12; n++){
419        if(ctrk.ncalev[n]==0 && ctrk.calfl[n]==0)calok = 1;//GOOD        if(ctrk.ncalev[n]==0 && ctrk.calfl[n]==0)calok = 1;//GOOD
420            
421                if(ctrk.dspnum[n]>13)
422            continue;
423    
424        nn=ctrk.dspnum[n]-1;        nn=ctrk.dspnum[n]-1;
425        /*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*        /*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
426         *         *
# Line 483  void FTrkCalibQLook_EXPERT(TString file, Line 493  void FTrkCalibQLook_EXPERT(TString file,
493        /******************************************************/        /******************************************************/
494        /* fill histos */        /* fill histos */
495        for(Int_t j = 0; j < 3072; j++){        for(Int_t j = 0; j < 3072; j++){
496          histosig[nn]->Fill((Float_t)j,ctrk.dspsig[nn][j]);          histosig[nn]->Fill(j,ctrk.dspsig[n][j]);
497          histoped[nn]->Fill((Float_t)j,ctrk.dspped[nn][j]);          histoped[nn]->Fill(j,ctrk.dspped[n][j]);
498          if(j<1024) histosiglad[nn][0]->Fill(ctrk.dspsig[nn][j]);          if(j<1024) histosiglad[nn][0]->Fill(ctrk.dspsig[n][j]);
499          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]);
500          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]);
501        };        };
502        histoasig[nn]->Fill(1,ctrk.sig1[nn]);        histoasig[nn]->Fill(1,ctrk.sig1[n]);
503        histoasig[nn]->Fill(1025,ctrk.sig2[nn]);        histoasig[nn]->Fill(1025,ctrk.sig2[n]);
504        histoasig[nn]->Fill(2049,ctrk.sig3[nn]);        histoasig[nn]->Fill(2049,ctrk.sig3[n]);
505        histoaped[nn]->Fill(1,ctrk.ped1[nn]);        histoaped[nn]->Fill(1,ctrk.ped1[nn]);
506        histoaped[nn]->Fill(1025,ctrk.ped2[nn]);        histoaped[nn]->Fill(1025,ctrk.ped2[n]);
507        histoaped[nn]->Fill(2049,ctrk.ped3[nn]);        histoaped[nn]->Fill(2049,ctrk.ped3[n]);
508        /******************************************************/        /******************************************************/
509                
510        TLine li;        TLine li;
# Line 521  void FTrkCalibQLook_EXPERT(TString file, Line 531  void FTrkCalibQLook_EXPERT(TString file,
531        if((nn+1)%2==0)  histoped[nn]->GetYaxis()->SetRangeUser(700,1700);        if((nn+1)%2==0)  histoped[nn]->GetYaxis()->SetRangeUser(700,1700);
532        histoaped[nn]->SetLineColor(5);        histoaped[nn]->SetLineColor(5);
533        histoaped[nn]->SetLineWidth(1);        histoaped[nn]->SetLineWidth(1);
534        if(ctrk.good0[0]==1 && ctrk.good0[1]==1){  //       if(ctrk.good0[0]==1 && ctrk.good0[1]==1){
535          histoped[nn]->Draw("b");          histoped[nn]->Draw("b");
536          if(nn==1){          if(nn==1){
537            maxhist=histoped[nn]->GetMaximum();            maxhist=histoped[nn]->GetMaximum();
# Line 558  void FTrkCalibQLook_EXPERT(TString file, Line 568  void FTrkCalibQLook_EXPERT(TString file,
568            b.SetFillStyle(3954);            b.SetFillStyle(3954);
569            b.DrawBox(512.,700.,768.,maxhist);            b.DrawBox(512.,700.,768.,maxhist);
570          }          }
571            else if(nn==9){
572              maxhist=histoped[nn]->GetMaximum();
573              b.SetFillColor(107);
574              b.SetFillStyle(3954);
575              b.DrawBox(256.,700.,384.,maxhist);
576            }
577          else if(nn==11){          else if(nn==11){
578            maxhist=histoped[nn]->GetMaximum();            maxhist=histoped[nn]->GetMaximum();
579            b.SetFillColor(6);            b.SetFillColor(6);
# Line 567  void FTrkCalibQLook_EXPERT(TString file, Line 583  void FTrkCalibQLook_EXPERT(TString file,
583            b.SetFillColor(107);            b.SetFillColor(107);
584            b.SetFillStyle(3954);            b.SetFillStyle(3954);
585            b.DrawBox(0.,700.,512.,maxhist);            b.DrawBox(0.,700.,512.,maxhist);
586            b.DrawBox(1920.,700.,2048.,maxhist);            b.DrawBox(1920.,700.,2560.,maxhist);
587          }          }
588        }    //     }
589        else histoped[nn]->Draw("axis");  //       else histoped[nn]->Draw("axis");
590        histoaped[nn]->Draw("same");        histoaped[nn]->Draw("same");
591        if((nn+1)%2==1) {        if((nn+1)%2==1) {
592          li.DrawLine(1024.5,2200,1024.5,3200);          li.DrawLine(1024.5,2200,1024.5,3200);
# Line 580  void FTrkCalibQLook_EXPERT(TString file, Line 596  void FTrkCalibQLook_EXPERT(TString file,
596          li.DrawLine(1024.5,700,1024.5,1700);          li.DrawLine(1024.5,700,1024.5,1700);
597          li.DrawLine(2048.5,700,2048.5,1700);          li.DrawLine(2048.5,700,2048.5,1700);
598        }        }
599          c1->Update();//draw pads in canvas
600                
601    
602                
# Line 602  void FTrkCalibQLook_EXPERT(TString file, Line 619  void FTrkCalibQLook_EXPERT(TString file,
619        histosig[nn]->GetYaxis()->CenterTitle();        histosig[nn]->GetYaxis()->CenterTitle();
620        histoasig[nn]->SetLineColor(5);        histoasig[nn]->SetLineColor(5);
621        histoasig[nn]->SetLineWidth(1);        histoasig[nn]->SetLineWidth(1);
622        if(ctrk.good0[0]==1 && ctrk.good0[1]==1){  //      if(ctrk.good0[0]==1 && ctrk.good0[1]==1){
623          histosig[nn]->Draw("b");          histosig[nn]->Draw("b");
624          if(nn==1){          if(nn==1){
625            maxhist=histosig[nn]->GetMaximum();            maxhist=histosig[nn]->GetMaximum();
# Line 639  void FTrkCalibQLook_EXPERT(TString file, Line 656  void FTrkCalibQLook_EXPERT(TString file,
656            b.SetFillStyle(3954);            b.SetFillStyle(3954);
657            b.DrawBox(512.,0.,768.,maxhist);            b.DrawBox(512.,0.,768.,maxhist);
658          }          }
659            else if(nn==9){
660              maxhist=histosig[nn]->GetMaximum();
661              b.SetFillColor(107);
662              b.SetFillStyle(3954);
663              b.DrawBox(256.,0.,384.,maxhist);
664            }
665          else if(nn==11){          else if(nn==11){
666            maxhist=histosig[nn]->GetMaximum();            maxhist=histosig[nn]->GetMaximum();
667            b.SetFillColor(6);            b.SetFillColor(6);
# Line 648  void FTrkCalibQLook_EXPERT(TString file, Line 671  void FTrkCalibQLook_EXPERT(TString file,
671            b.SetFillColor(107);            b.SetFillColor(107);
672            b.SetFillStyle(3954);            b.SetFillStyle(3954);
673            b.DrawBox(0.,0.,512.,maxhist);            b.DrawBox(0.,0.,512.,maxhist);
674            b.DrawBox(1920.,0.,2048.,maxhist);            b.DrawBox(1920.,0.,2560.,maxhist);
675          }          }
676        }  //       }
677        else histosig[nn]->Draw("axis");  //       else histosig[nn]->Draw("axis");
678        histoasig[nn]->Draw("same");        histoasig[nn]->Draw("same");
679        li.DrawLine(1024.5,0,1024.5,max);        li.DrawLine(1024.5,0,1024.5,max);
680        li.DrawLine(2048.5,0,2048.5,max);        li.DrawLine(2048.5,0,2048.5,max);
# Line 669  void FTrkCalibQLook_EXPERT(TString file, Line 692  void FTrkCalibQLook_EXPERT(TString file,
692          histosiglad[nn][ii]->GetXaxis()->SetTitle("SIG (ADC channels)");          histosiglad[nn][ii]->GetXaxis()->SetTitle("SIG (ADC channels)");
693          histosiglad[nn][ii]->GetXaxis()->CenterTitle();          histosiglad[nn][ii]->GetXaxis()->CenterTitle();
694          histosiglad[nn][ii]->Draw("");            histosiglad[nn][ii]->Draw("");  
695        }        }
696              
697      };//end loop on views      };//end loop on views
698      c1->Update();//draw pads in canvas      c1->Update();//draw pads in canvas
699      c2->Update();//draw pads in canvas      c2->Update();//draw pads in canvas

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.16

  ViewVC Help
Powered by ViewVC 1.1.23