/[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.19 by pam-fi, Mon Nov 20 11:33:24 2006 UTC
# Line 2  Line 2 
2   * FTrkCalibQLookExpert.cxx   * FTrkCalibQLookExpert.cxx
3   *   *
4   * autor: D.Fedele   * autor: D.Fedele
5   * version v1r10   * version v1r17
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 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]==0)
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==0){
537              maxhist=histoped[nn]->GetMaximum();
538              b.SetFillColor(107);
539              b.SetFillStyle(3945);
540              b.DrawBox(768.,2200.,2047.,maxhist);
541            }
542            else if(nn==1){
543            maxhist=histoped[nn]->GetMaximum();            maxhist=histoped[nn]->GetMaximum();
544            b.SetFillColor(6);            b.SetFillColor(6);
545            b.SetFillStyle(3945);            b.SetFillStyle(3945);
# Line 558  void FTrkCalibQLook_EXPERT(TString file, Line 574  void FTrkCalibQLook_EXPERT(TString file,
574            b.SetFillStyle(3954);            b.SetFillStyle(3954);
575            b.DrawBox(512.,700.,768.,maxhist);            b.DrawBox(512.,700.,768.,maxhist);
576          }          }
577            else if(nn==8){
578              maxhist=histoped[nn]->GetMaximum();
579              b.SetFillColor(107);
580              b.SetFillStyle(3954);
581              b.DrawBox(512.,2200.,768.,maxhist);
582            }
583            else if(nn==9){
584              maxhist=histoped[nn]->GetMaximum();
585              b.SetFillColor(107);
586              b.SetFillStyle(3954);
587              b.DrawBox(256.,700.,384.,maxhist);
588            }
589          else if(nn==11){          else if(nn==11){
590            maxhist=histoped[nn]->GetMaximum();            maxhist=histoped[nn]->GetMaximum();
591            b.SetFillColor(6);            b.SetFillColor(6);
# Line 567  void FTrkCalibQLook_EXPERT(TString file, Line 595  void FTrkCalibQLook_EXPERT(TString file,
595            b.SetFillColor(107);            b.SetFillColor(107);
596            b.SetFillStyle(3954);            b.SetFillStyle(3954);
597            b.DrawBox(0.,700.,512.,maxhist);            b.DrawBox(0.,700.,512.,maxhist);
598            b.DrawBox(1920.,700.,2048.,maxhist);            b.DrawBox(1920.,700.,2560.,maxhist);
599          }          }
600        }    //     }
601        else histoped[nn]->Draw("axis");  //       else histoped[nn]->Draw("axis");
602        histoaped[nn]->Draw("same");        histoaped[nn]->Draw("same");
603        if((nn+1)%2==1) {        if((nn+1)%2==1) {
604          li.DrawLine(1024.5,2200,1024.5,3200);          li.DrawLine(1024.5,2200,1024.5,3200);
# Line 580  void FTrkCalibQLook_EXPERT(TString file, Line 608  void FTrkCalibQLook_EXPERT(TString file,
608          li.DrawLine(1024.5,700,1024.5,1700);          li.DrawLine(1024.5,700,1024.5,1700);
609          li.DrawLine(2048.5,700,2048.5,1700);          li.DrawLine(2048.5,700,2048.5,1700);
610        }        }
611          c1->Update();//draw pads in canvas
612                
613    
614                
# Line 602  void FTrkCalibQLook_EXPERT(TString file, Line 631  void FTrkCalibQLook_EXPERT(TString file,
631        histosig[nn]->GetYaxis()->CenterTitle();        histosig[nn]->GetYaxis()->CenterTitle();
632        histoasig[nn]->SetLineColor(5);        histoasig[nn]->SetLineColor(5);
633        histoasig[nn]->SetLineWidth(1);        histoasig[nn]->SetLineWidth(1);
634        if(ctrk.good0[0]==1 && ctrk.good0[1]==1){  //      if(ctrk.good0[0]==1 && ctrk.good0[1]==1){
635          histosig[nn]->Draw("b");          histosig[nn]->Draw("b");
636          if(nn==1){          if(nn==0){
637              maxhist=histosig[nn]->GetMaximum();
638              b.SetFillColor(107);
639              b.SetFillStyle(3945);
640              b.DrawBox(768.,0.,2047.,maxhist);
641            }
642            else if(nn==1){
643            maxhist=histosig[nn]->GetMaximum();            maxhist=histosig[nn]->GetMaximum();
644            b.SetFillColor(6);            b.SetFillColor(6);
645            b.SetFillStyle(3945);            b.SetFillStyle(3945);
# Line 639  void FTrkCalibQLook_EXPERT(TString file, Line 674  void FTrkCalibQLook_EXPERT(TString file,
674            b.SetFillStyle(3954);            b.SetFillStyle(3954);
675            b.DrawBox(512.,0.,768.,maxhist);            b.DrawBox(512.,0.,768.,maxhist);
676          }          }
677            else if(nn==8){
678              maxhist=histosig[nn]->GetMaximum();
679              b.SetFillColor(107);
680              b.SetFillStyle(3954);
681              b.DrawBox(512.,0.,768.,maxhist);
682            }
683            else if(nn==9){
684              maxhist=histosig[nn]->GetMaximum();
685              b.SetFillColor(107);
686              b.SetFillStyle(3954);
687              b.DrawBox(256.,0.,384.,maxhist);
688            }
689          else if(nn==11){          else if(nn==11){
690            maxhist=histosig[nn]->GetMaximum();            maxhist=histosig[nn]->GetMaximum();
691            b.SetFillColor(6);            b.SetFillColor(6);
# Line 648  void FTrkCalibQLook_EXPERT(TString file, Line 695  void FTrkCalibQLook_EXPERT(TString file,
695            b.SetFillColor(107);            b.SetFillColor(107);
696            b.SetFillStyle(3954);            b.SetFillStyle(3954);
697            b.DrawBox(0.,0.,512.,maxhist);            b.DrawBox(0.,0.,512.,maxhist);
698            b.DrawBox(1920.,0.,2048.,maxhist);            b.DrawBox(1920.,0.,2560.,maxhist);
699          }          }
700        }  //       }
701        else histosig[nn]->Draw("axis");  //       else histosig[nn]->Draw("axis");
702        histoasig[nn]->Draw("same");        histoasig[nn]->Draw("same");
703        li.DrawLine(1024.5,0,1024.5,max);        li.DrawLine(1024.5,0,1024.5,max);
704        li.DrawLine(2048.5,0,2048.5,max);        li.DrawLine(2048.5,0,2048.5,max);
# Line 669  void FTrkCalibQLook_EXPERT(TString file, Line 716  void FTrkCalibQLook_EXPERT(TString file,
716          histosiglad[nn][ii]->GetXaxis()->SetTitle("SIG (ADC channels)");          histosiglad[nn][ii]->GetXaxis()->SetTitle("SIG (ADC channels)");
717          histosiglad[nn][ii]->GetXaxis()->CenterTitle();          histosiglad[nn][ii]->GetXaxis()->CenterTitle();
718          histosiglad[nn][ii]->Draw("");            histosiglad[nn][ii]->Draw("");  
719        }        }
720              
721      };//end loop on views      };//end loop on views
722      c1->Update();//draw pads in canvas      c1->Update();//draw pads in canvas
723      c2->Update();//draw pads in canvas      c2->Update();//draw pads in canvas

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

  ViewVC Help
Powered by ViewVC 1.1.23