2 |
* FTrkCalibQLookExpert.cxx |
* FTrkCalibQLookExpert.cxx |
3 |
* |
* |
4 |
* autor: D.Fedele |
* autor: D.Fedele |
5 |
* version v1r08 |
* version v1r13 |
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 |
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 |
|
|
187 |
//********************************************************************** |
//********************************************************************** |
188 |
|
|
189 |
Int_t hcevent=hotr->GetEntries(); |
Int_t hcevent=hotr->GetEntries(); |
190 |
ULong64_t HOBT[hcevent], TOBT[hcevent]; |
Int_t tcevent=totr->GetEntries(); |
191 |
|
ULong64_t HOBT[hcevent], TOBT[tcevent]; |
192 |
for (Int_t i = 0; i < hcevent; i++){ |
for (Int_t i = 0; i < hcevent; i++){ |
|
totr->GetEntry(i); |
|
193 |
hotr->GetEntry(i); |
hotr->GetEntry(i); |
194 |
ph = eh4->GetPscuHeader(); |
ph = eh4->GetPscuHeader(); |
195 |
HOBT[i]= ph->GetOrbitalTime(); |
HOBT[i]= ph->GetOrbitalTime(); |
196 |
|
} |
197 |
|
for (Int_t i = 0; i < tcevent; i++){ |
198 |
|
totr->GetEntry(i); |
199 |
ph = eh3->GetPscuHeader(); |
ph = eh3->GetPscuHeader(); |
200 |
TOBT[i]= ph->GetOrbitalTime(); |
TOBT[i]= ph->GetOrbitalTime(); |
201 |
} |
} |
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 |
|
|
276 |
Int_t risposta=0; |
Int_t risposta=0; |
277 |
stringstream fromfile; |
stringstream fromfile; |
278 |
|
|
279 |
fromfile<<"FTrkCalibQLook_EXPERT File: "<<ffile<<" -- CalibHeader OBT= "<<HOBT[(cod->Get(pctp->CalibHeader))-1]<<" -- Calib pkt OBT= "<<FOBT[0]<<" -- CalibTrailer OBT= "<<TOBT[(cod->Get(pctp->CalibTrailer))-1]<<" --"; |
fromfile<<"FTrkCalibQLook_EXPERT File: "<<ffile<<" -- CalibHeader OBT= "<<HOBT[(cod->Get(pctp->CalibHeader))-1]<<" -- Calib pkt OBT= "<<FOBT[0]<<" -- CalibTrailer OBT= "<<TOBT[(cod->Get(pctp->CalibTrailer))]<<" --"; |
280 |
|
|
281 |
gStyle->SetLabelSize(0.07,"x"); |
gStyle->SetLabelSize(0.07,"x"); |
282 |
gStyle->SetLabelSize(0.07,"y"); |
gStyle->SetLabelSize(0.07,"y"); |
542 |
b.DrawBox(2816.,700.,2944.,maxhist); |
b.DrawBox(2816.,700.,2944.,maxhist); |
543 |
b.DrawBox(2048.,700.,2176.,maxhist); |
b.DrawBox(2048.,700.,2176.,maxhist); |
544 |
} |
} |
545 |
|
else if(nn==4){ |
546 |
|
maxhist=histoped[nn]->GetMaximum(); |
547 |
|
b.SetFillColor(107); |
548 |
|
b.SetFillStyle(3954); |
549 |
|
b.DrawBox(384.,2200.,512.,maxhist); |
550 |
|
} |
551 |
else if(nn==6){ |
else if(nn==6){ |
552 |
maxhist=histoped[nn]->GetMaximum(); |
maxhist=histoped[nn]->GetMaximum(); |
553 |
b.SetFillColor(6); |
b.SetFillColor(6); |
554 |
b.SetFillStyle(3945); |
b.SetFillStyle(3945); |
555 |
b.DrawBox(2560.,2200.,2816.,maxhist); |
b.DrawBox(2560.,2200.,2816.,maxhist); |
556 |
b.DrawBox(1024.,2200.,1792.,maxhist); |
b.DrawBox(1024.,2200.,1535.,maxhist); |
557 |
|
|
558 |
b.SetFillColor(107); |
b.SetFillColor(107); |
559 |
b.SetFillStyle(3954); |
b.SetFillStyle(3954); |
560 |
b.DrawBox(512.,2200.,768.,maxhist); |
b.DrawBox(512.,2200.,768.,maxhist); |
561 |
|
b.DrawBox(1536.,2200.,1792.,maxhist); |
562 |
} |
} |
563 |
else if(nn==7){ |
else if(nn==7){ |
564 |
maxhist=histoped[nn]->GetMaximum(); |
maxhist=histoped[nn]->GetMaximum(); |
566 |
b.SetFillStyle(3954); |
b.SetFillStyle(3954); |
567 |
b.DrawBox(512.,700.,768.,maxhist); |
b.DrawBox(512.,700.,768.,maxhist); |
568 |
} |
} |
569 |
|
else if(nn==9){ |
570 |
|
maxhist=histoped[nn]->GetMaximum(); |
571 |
|
b.SetFillColor(107); |
572 |
|
b.SetFillStyle(3954); |
573 |
|
b.DrawBox(256.,700.,384.,maxhist); |
574 |
|
} |
575 |
else if(nn==11){ |
else if(nn==11){ |
576 |
maxhist=histoped[nn]->GetMaximum(); |
maxhist=histoped[nn]->GetMaximum(); |
577 |
b.SetFillColor(6); |
b.SetFillColor(6); |
582 |
b.SetFillStyle(3954); |
b.SetFillStyle(3954); |
583 |
b.DrawBox(0.,700.,512.,maxhist); |
b.DrawBox(0.,700.,512.,maxhist); |
584 |
b.DrawBox(1920.,700.,2048.,maxhist); |
b.DrawBox(1920.,700.,2048.,maxhist); |
585 |
|
b.DrawBox(2176.,700.,2304.,maxhist); |
586 |
} |
} |
587 |
} |
} |
588 |
else histoped[nn]->Draw("axis"); |
else histoped[nn]->Draw("axis"); |
630 |
b.DrawBox(2816.,0.,2944.,maxhist); |
b.DrawBox(2816.,0.,2944.,maxhist); |
631 |
b.DrawBox(2048.,0.,2176.,maxhist); |
b.DrawBox(2048.,0.,2176.,maxhist); |
632 |
} |
} |
633 |
|
else if(nn==4){ |
634 |
|
maxhist=histosig[nn]->GetMaximum(); |
635 |
|
b.SetFillColor(107); |
636 |
|
b.SetFillStyle(3954); |
637 |
|
b.DrawBox(384.,0.,512.,maxhist); |
638 |
|
} |
639 |
else if(nn==6){ |
else if(nn==6){ |
640 |
maxhist=histosig[nn]->GetMaximum(); |
maxhist=histosig[nn]->GetMaximum(); |
641 |
b.SetFillColor(6); |
b.SetFillColor(6); |
642 |
b.SetFillStyle(3945); |
b.SetFillStyle(3945); |
643 |
b.DrawBox(2560.,0.,2816.,maxhist); |
b.DrawBox(2560.,0.,2816.,maxhist); |
644 |
b.DrawBox(1024.,0.,1792.,maxhist); |
b.DrawBox(1024.,0.,1535.,maxhist); |
645 |
|
|
646 |
b.SetFillColor(107); |
b.SetFillColor(107); |
647 |
b.SetFillStyle(3954); |
b.SetFillStyle(3954); |
648 |
b.DrawBox(512.,0.,768.,maxhist); |
b.DrawBox(512.,0.,768.,maxhist); |
649 |
|
b.DrawBox(1536.,0.,1792.,maxhist); |
650 |
} |
} |
651 |
else if(nn==7){ |
else if(nn==7){ |
652 |
maxhist=histosig[nn]->GetMaximum(); |
maxhist=histosig[nn]->GetMaximum(); |
654 |
b.SetFillStyle(3954); |
b.SetFillStyle(3954); |
655 |
b.DrawBox(512.,0.,768.,maxhist); |
b.DrawBox(512.,0.,768.,maxhist); |
656 |
} |
} |
657 |
|
else if(nn==9){ |
658 |
|
maxhist=histosig[nn]->GetMaximum(); |
659 |
|
b.SetFillColor(107); |
660 |
|
b.SetFillStyle(3954); |
661 |
|
b.DrawBox(256.,0.,384.,maxhist); |
662 |
|
} |
663 |
else if(nn==11){ |
else if(nn==11){ |
664 |
maxhist=histosig[nn]->GetMaximum(); |
maxhist=histosig[nn]->GetMaximum(); |
665 |
b.SetFillColor(6); |
b.SetFillColor(6); |
670 |
b.SetFillStyle(3954); |
b.SetFillStyle(3954); |
671 |
b.DrawBox(0.,0.,512.,maxhist); |
b.DrawBox(0.,0.,512.,maxhist); |
672 |
b.DrawBox(1920.,0.,2048.,maxhist); |
b.DrawBox(1920.,0.,2048.,maxhist); |
673 |
|
b.DrawBox(2176.,0.,2304.,maxhist); |
674 |
} |
} |
675 |
} |
} |
676 |
else histosig[nn]->Draw("axis"); |
else histosig[nn]->Draw("axis"); |