--- quicklook/tracker/flight/macros/FTrkCalibQLook_BASIC.cxx 2006/05/10 10:06:54 1.1 +++ quicklook/tracker/flight/macros/FTrkCalibQLook_BASIC.cxx 2006/09/19 15:15:42 1.8 @@ -2,7 +2,7 @@ * FTrkCalibQLook_BASIC.cxx * * autor: D.Fedele - * version 2.0 + * version v1r10 * Parameters: * file - the data file to analyze * fromevent - first event to analyze @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -25,18 +26,7 @@ #include // -void stringcopy(TString& s1, const TString& s2, Int_t from=0, Int_t to=0){ - if ( to == 0 ){ - Int_t t2length = s2.Length(); - s1 = ""; - to = t2length; - }; - for (Int_t i = from; i0) base=file(0,dwpos); TString out; if(outdir.Length()==0){ @@ -78,7 +66,8 @@ }else{ out = outdir; }; - + if(out.Last('/')+1 nevents) { maxevent = nevents; } else { - maxevent = fromevent; + maxevent = nevents; }; }; @@ -212,10 +201,16 @@ // inizialize the limits for simga and pedestall for(Int_t i=0;i<12;i++){ for(Int_t ii=0;ii<12;ii++){ - siglimsup[i][ii]=20.; - sigliminf[i][ii]=0.; - pedlimsup[i][ii]=3500.; - pedliminf[i][ii]=50.; + siglimsup[i][ii]=30.; + sigliminf[i][ii]=1.5; + if(!(i%2)){ + pedlimsup[i][ii]=3700.; + pedliminf[i][ii]=1700.; + } + else{ + pedlimsup[i][ii]=2200.; + pedliminf[i][ii]=200.; + } } } @@ -236,11 +231,10 @@ if(trk2->cal_flag[m]!=0) alarm+=1; } } - const Int_t cnum=alarm/30 + 10; + const Int_t cnum=alarm/30 + 100; Int_t flcanvas=1; Float_t spacep=1.5,space[cnum]; - TCanvas *c[cnum]; - + TCanvas *c[cnum]; // // create output canvas for(Int_t i=0;iRange(0,0,100,100); + c[i]->SetFillColor(10); tzz->DrawLatex(1,98.5,fromfile.str().c_str()); rep.str(""); rep<<"CALIBRATION REPORT pag"<GetPscuHeader(); OBT[0]= ph1->GetOrbitalTime(); - ctrk.daqmode[trk1->DSPnumber[m]-1]=trk1->DAQmode[m]; - ctrk.dspnum[trk1->DSPnumber[m]-1]=trk1->DSPnumber[m]; - ctrk.calibnum[trk1->DSPnumber[m]-1]=trk1->calibnumber[m]; - ctrk.ncalev[trk1->DSPnumber[m]-1]=trk1->ncalib_event[m]; - ctrk.ped1[trk1->DSPnumber[m]-1]=trk1->ped_l1[m]; - ctrk.ped2[trk1->DSPnumber[m]-1]=trk1->ped_l2[m]; - ctrk.ped3[trk1->DSPnumber[m]-1]=trk1->ped_l3[m]; - ctrk.sig1[trk1->DSPnumber[m]-1]=trk1->sig_l1[m]; - ctrk.sig2[trk1->DSPnumber[m]-1]=trk1->sig_l2[m]; - ctrk.sig3[trk1->DSPnumber[m]-1]=trk1->sig_l3[m]; - ctrk.nbad1[trk1->DSPnumber[m]-1]=trk1->nbad_l1[m]; - ctrk.nbad2[trk1->DSPnumber[m]-1]=trk1->nbad_l2[m]; - ctrk.nbad3[trk1->DSPnumber[m]-1]=trk1->nbad_l3[m]; - ctrk.calfl[trk1->DSPnumber[m]-1]=trk1->cal_flag[m]; - ctrk.crc_c[trk1->DSPnumber[m]-1][0]=trk1->crc_cal[m][0]; - ctrk.crc_c[trk1->DSPnumber[m]-1][1]=trk1->crc_cal[m][1]; - ctrk.crc_c[trk1->DSPnumber[m]-1][2]=trk1->crc_cal[m][2]; - ctrk.crc_hc[trk1->DSPnumber[m]-1]=trk1->crc_hcal[m]; - for (Int_t j = 0; j < 3072; j++){ - ctrk.dspped[trk1->DSPnumber[m]-1][j]=trk1->DSPped_par[m][j]; - ctrk.dspsig[trk1->DSPnumber[m]-1][j]=trk1->DSPsig_par[m][j]; - ctrk.dspbad[trk1->DSPnumber[m]-1][j]=trk1->DSPbad_par[m][j]; + if(trk1->DSPnumber[m]>0){ + if(trk1->DSPnumber[m]<13){ + ctrk.daqmode[trk1->DSPnumber[m]-1]=trk1->DAQmode[m]; + ctrk.dspnum[trk1->DSPnumber[m]-1]=trk1->DSPnumber[m]; + ctrk.calibnum[trk1->DSPnumber[m]-1]=trk1->calibnumber[m]; + ctrk.ncalev[trk1->DSPnumber[m]-1]=trk1->ncalib_event[m]; + ctrk.ped1[trk1->DSPnumber[m]-1]=trk1->ped_l1[m]; + ctrk.ped2[trk1->DSPnumber[m]-1]=trk1->ped_l2[m]; + ctrk.ped3[trk1->DSPnumber[m]-1]=trk1->ped_l3[m]; + ctrk.sig1[trk1->DSPnumber[m]-1]=trk1->sig_l1[m]; + ctrk.sig2[trk1->DSPnumber[m]-1]=trk1->sig_l2[m]; + ctrk.sig3[trk1->DSPnumber[m]-1]=trk1->sig_l3[m]; + ctrk.nbad1[trk1->DSPnumber[m]-1]=trk1->nbad_l1[m]; + ctrk.nbad2[trk1->DSPnumber[m]-1]=trk1->nbad_l2[m]; + ctrk.nbad3[trk1->DSPnumber[m]-1]=trk1->nbad_l3[m]; + ctrk.calfl[trk1->DSPnumber[m]-1]=trk1->cal_flag[m]; + ctrk.crc_c[trk1->DSPnumber[m]-1][0]=trk1->crc_cal[m][0]; + ctrk.crc_c[trk1->DSPnumber[m]-1][1]=trk1->crc_cal[m][1]; + ctrk.crc_c[trk1->DSPnumber[m]-1][2]=trk1->crc_cal[m][2]; + ctrk.crc_hc[trk1->DSPnumber[m]-1]=trk1->crc_hcal[m]; + for (Int_t j = 0; j < 3072; j++){ + ctrk.dspped[trk1->DSPnumber[m]-1][j]=trk1->DSPped_par[m][j]; + ctrk.dspsig[trk1->DSPnumber[m]-1][j]=trk1->DSPsig_par[m][j]; + ctrk.dspbad[trk1->DSPnumber[m]-1][j]=trk1->DSPbad_par[m][j]; + } + } } ph2 = eh2->GetPscuHeader(); OBT[1]= ph2->GetOrbitalTime(); - ctrk.daqmode[trk2->DSPnumber[m]-1]=trk2->DAQmode[m]; - ctrk.dspnum[trk2->DSPnumber[m]-1]=trk2->DSPnumber[m]; - ctrk.calibnum[trk2->DSPnumber[m]-1]=trk2->calibnumber[m]; - ctrk.ncalev[trk2->DSPnumber[m]-1]=trk2->ncalib_event[m]; - ctrk.ped1[trk2->DSPnumber[m]-1]=trk2->ped_l1[m]; - ctrk.ped2[trk2->DSPnumber[m]-1]=trk2->ped_l2[m]; - ctrk.ped3[trk2->DSPnumber[m]-1]=trk2->ped_l3[m]; - ctrk.sig1[trk2->DSPnumber[m]-1]=trk2->sig_l1[m]; - ctrk.sig2[trk2->DSPnumber[m]-1]=trk2->sig_l2[m]; - ctrk.sig3[trk2->DSPnumber[m]-1]=trk2->sig_l3[m]; - ctrk.nbad1[trk2->DSPnumber[m]-1]=trk2->nbad_l1[m]; - ctrk.nbad2[trk2->DSPnumber[m]-1]=trk2->nbad_l2[m]; - ctrk.nbad3[trk2->DSPnumber[m]-1]=trk2->nbad_l3[m]; - ctrk.calfl[trk2->DSPnumber[m]-1]=trk2->cal_flag[m]; - ctrk.crc_c[trk1->DSPnumber[m]-1][0]=trk2->crc_cal[m][0]; - ctrk.crc_c[trk1->DSPnumber[m]-1][1]=trk2->crc_cal[m][1]; - ctrk.crc_c[trk1->DSPnumber[m]-1][2]=trk2->crc_cal[m][2]; - ctrk.crc_hc[trk1->DSPnumber[m]-1]=trk2->crc_hcal[m]; - for (Int_t j = 0; j < 3072; j++){ - ctrk.dspped[trk2->DSPnumber[m]-1][j]=trk2->DSPped_par[m][j]; - ctrk.dspsig[trk2->DSPnumber[m]-1][j]=trk2->DSPsig_par[m][j]; - ctrk.dspbad[trk2->DSPnumber[m]-1][j]=trk2->DSPbad_par[m][j]; + if(trk2->DSPnumber[m]>0){ + if(trk2->DSPnumber[m]<13){ + ctrk.daqmode[trk2->DSPnumber[m]-1]=trk2->DAQmode[m]; + ctrk.dspnum[trk2->DSPnumber[m]-1]=trk2->DSPnumber[m]; + ctrk.calibnum[trk2->DSPnumber[m]-1]=trk2->calibnumber[m]; + ctrk.ncalev[trk2->DSPnumber[m]-1]=trk2->ncalib_event[m]; + ctrk.ped1[trk2->DSPnumber[m]-1]=trk2->ped_l1[m]; + ctrk.ped2[trk2->DSPnumber[m]-1]=trk2->ped_l2[m]; + ctrk.ped3[trk2->DSPnumber[m]-1]=trk2->ped_l3[m]; + ctrk.sig1[trk2->DSPnumber[m]-1]=trk2->sig_l1[m]; + ctrk.sig2[trk2->DSPnumber[m]-1]=trk2->sig_l2[m]; + ctrk.sig3[trk2->DSPnumber[m]-1]=trk2->sig_l3[m]; + ctrk.nbad1[trk2->DSPnumber[m]-1]=trk2->nbad_l1[m]; + ctrk.nbad2[trk2->DSPnumber[m]-1]=trk2->nbad_l2[m]; + ctrk.nbad3[trk2->DSPnumber[m]-1]=trk2->nbad_l3[m]; + ctrk.calfl[trk2->DSPnumber[m]-1]=trk2->cal_flag[m]; + ctrk.crc_c[trk1->DSPnumber[m]-1][0]=trk2->crc_cal[m][0]; + ctrk.crc_c[trk1->DSPnumber[m]-1][1]=trk2->crc_cal[m][1]; + ctrk.crc_c[trk1->DSPnumber[m]-1][2]=trk2->crc_cal[m][2]; + ctrk.crc_hc[trk1->DSPnumber[m]-1]=trk2->crc_hcal[m]; + for (Int_t j = 0; j < 3072; j++){ + ctrk.dspped[trk2->DSPnumber[m]-1][j]=trk2->DSPped_par[m][j]; + ctrk.dspsig[trk2->DSPnumber[m]-1][j]=trk2->DSPsig_par[m][j]; + ctrk.dspbad[trk2->DSPnumber[m]-1][j]=trk2->DSPbad_par[m][j]; + } + } } } @@ -427,52 +430,55 @@ if(pedav[nn][ii]>pedlimsup[nn][ii] || pedav[nn][ii]siglimsup[nn][ii] || sigav[nn][ii]cd(); + tzz->SetTextFont(40); + tzz->SetTextSize(0.02); + tzz->SetTextAlign(13); + tzz->SetTextColor(50); + rep<<"********************************************************************************************************************************"; + tzz->DrawLatex(2,space[wc],rep.str().c_str()); + rep.str(""); + space[wc]-=spacep; + rep<<"WARNING >>> CALIBRATION pkt "<CalibTrk"<<(nn+1)%2+1<<" at OBT: "<DSP "< = "<DrawLatex(2,space[wc],rep.str().c_str()); + rep.str(""); + space[wc]-=spacep; } - c[wc]->cd(); - tzz->SetTextFont(40); - tzz->SetTextSize(0.02); - tzz->SetTextAlign(13); - tzz->SetTextColor(50); - rep<<"********************************************************************************************************************************"; - tzz->DrawLatex(2,space[wc],rep.str().c_str()); - rep.str(""); - space[wc]-=spacep; - rep<<"WARNING >>> CALIBRATION pkt "<CalibTrk"<<(nn+1)%2+1<<" at OBT: "<DSP "< = "<DrawLatex(2,space[wc],rep.str().c_str()); - rep.str(""); - space[wc]-=spacep; - } - - if(flsigav[nn][ii]==1){ - ok=1; - if(space[wc]<=3){ - wc+=1; - flcanvas+=1; + + if(flsigav[nn][ii]==1){ + ok=1; + if(space[wc]<=3){ + wc+=1; + flcanvas+=1; + } + c[wc]->cd(); + tzz->SetTextFont(40); + tzz->SetTextSize(0.02); + tzz->SetTextAlign(13); + tzz->SetTextColor(50); + rep<<"********************************************************************************************************************************"; + tzz->DrawLatex(2,space[wc],rep.str().c_str()); + rep.str(""); + space[wc]-=spacep; + rep<<"WARNING >>> CALIBRATION pkt "<CalibTrk"<<(nn+1)%2+1<<" at OBT: "<DSP "< = "<DrawLatex(2,space[wc],rep.str().c_str()); + rep.str(""); + space[wc]-=spacep; } - c[wc]->cd(); - tzz->SetTextFont(40); - tzz->SetTextSize(0.02); - tzz->SetTextAlign(13); - tzz->SetTextColor(50); - rep<<"********************************************************************************************************************************"; - tzz->DrawLatex(2,space[wc],rep.str().c_str()); - rep.str(""); - space[wc]-=spacep; - rep<<"WARNING >>> CALIBRATION pkt "<CalibTrk"<<(nn+1)%2+1<<" at OBT: "<DSP "< = "<DrawLatex(2,space[wc],rep.str().c_str()); - rep.str(""); - space[wc]-=spacep; } } } } - - if(ok==0 && ctrk.good0[0]==1 && ctrk.good0[1]==1){ + if(ok==0 && ctrk.good0[0]==1 && ctrk.good0[1]==1){ if(space[wc]<=10){ wc+=1; flcanvas+=1;