/[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.1 by pam-fi, Wed May 10 10:06:54 2006 UTC revision 1.9 by pam-fi, Fri Aug 11 10:24:09 2006 UTC
# Line 1  Line 1 
1  /**  /**
2   * FTrkCalibQLookExpert.cpp   * FTrkCalibQLookExpert.cxx
3   *   *
4   * autor: D.Fedele   * autor: D.Fedele
5   * version 2.0   * version v1r08
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 18  Line 18 
18  #include <TPaveText.h>  #include <TPaveText.h>
19  #include <TLatex.h>  #include <TLatex.h>
20  #include <TCanvas.h>  #include <TCanvas.h>
21    #include <TFile.h>
22  #include <TTree.h>  #include <TTree.h>
23  #include <TGraph.h>  #include <TGraph.h>
24  #include <TStyle.h>  #include <TStyle.h>
# Line 29  Line 30 
30  #include <CalibTrk2Event.h>  #include <CalibTrk2Event.h>
31  //  //
32    
33    typedef struct caltrk_def{
 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; i<to; i++){  
         s1.Append(s2[i],1);  
     };  
 };  
   
  typedef struct caltrk_def{  
34    Int_t good0[2];    Int_t good0[2];
35    Int_t daqmode[12];    Int_t daqmode[12];
36    Int_t dspnum[12];    Int_t dspnum[12];
# Line 69  void FTrkCalibQLook_EXPERT(TString file, Line 58  void FTrkCalibQLook_EXPERT(TString file,
58  {    {  
59    //    //
60    //   obtain information about the data file and select the output dir    //   obtain information about the data file and select the output dir
61    const string filepath=file.Data();    Int_t dwpos = file.Last('/');
62    Int_t dwpos = filepath.rfind("DW_");    Int_t dwpos1 = file.Last('.');
63    Int_t dwpos1 = filepath.find(".root");    TString base,ffile ;
64    TString fpath=(filepath.c_str());    ffile=file(dwpos+1,dwpos1-(dwpos+1));
65    TString base,ffile;    if(dwpos>0) base=file(0,dwpos);
   stringcopy(base,fpath,0,dwpos);  
   stringcopy(ffile,fpath,dwpos,dwpos1);  
66    
67    TString out;    TString out;
68    if(outdir.Length()==0){    if(outdir.Length()==0){
# Line 83  void FTrkCalibQLook_EXPERT(TString file, Line 70  void FTrkCalibQLook_EXPERT(TString file,
70    }else{    }else{
71      out = outdir;      out = outdir;
72    }    }
73      if(out.Last('/')+1<out.Length()) out+="/";
74    
75    //    //
76    // inizialise the variables and open the file    // inizialise the variables and open the 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], HOBT=0, TOBT=0;    ULong64_t FOBT[2];
81        
82    FOBT[0]=0;    FOBT[0]=0;
83    FOBT[1]=0;    FOBT[1]=0;
# Line 133  void FTrkCalibQLook_EXPERT(TString file, Line 121  void FTrkCalibQLook_EXPERT(TString file,
121    pamela::EventHeader *eh1=0,*eh2=0,*eh4=0,*eh3=0;    pamela::EventHeader *eh1=0,*eh2=0,*eh4=0,*eh3=0;
122    pamela::PscuHeader *ph=0;    pamela::PscuHeader *ph=0;
123    pamela::CalibTrk1Event *trk1 = 0;    pamela::CalibTrk1Event *trk1 = 0;
124    pamela::CalibTrk2Event *trk2 = 0;        pamela::CalibTrk2Event *trk2 = 0;
125      pamela::EventCounter *cod=0;  
126      
127      pamela::PacketType *pctp=0;  
128        
129    hotr = (TTree*)calibFile->Get("CalibHeader");    hotr = (TTree*)calibFile->Get("CalibHeader");
130    hotr->SetBranchAddress("Header", &eh4);    hotr->SetBranchAddress("Header", &eh4);
# Line 195  void FTrkCalibQLook_EXPERT(TString file, Line 186  void FTrkCalibQLook_EXPERT(TString file,
186    //    //
187    //**********************************************************************    //**********************************************************************
188            
189      Int_t hcevent=hotr->GetEntries();
190      ULong64_t HOBT[hcevent], TOBT[hcevent];
191      for (Int_t i = 0; i < hcevent; i++){
192        totr->GetEntry(i);
193        hotr->GetEntry(i);
194        ph = eh4->GetPscuHeader();
195        HOBT[i]= ph->GetOrbitalTime();
196        ph = eh3->GetPscuHeader();
197        TOBT[i]= ph->GetOrbitalTime();
198      }
199        
200    printf("\n Scan of calibration packets from %i to %i ... \n\n",minevent+1,maxevent);    printf("\n Scan of calibration packets from %i to %i ... \n\n",minevent+1,maxevent);
201    for (Int_t i = minevent; i < maxevent; i++){        for (Int_t i = minevent; i < maxevent; i++){    
202            
203      otr1->GetEntry(i);      otr1->GetEntry(i);
204      otr2->GetEntry(i);      otr2->GetEntry(i);
205      totr->GetEntry(i);      
     hotr->GetEntry(i);  
     ph = eh4->GetPscuHeader();  
     HOBT= ph->GetOrbitalTime();  
     ph = eh3->GetPscuHeader();  
     TOBT= ph->GetOrbitalTime();  
         
206      ctrk.good0[0]=trk1->good0;      ctrk.good0[0]=trk1->good0;
207      ctrk.good0[1]=trk2->good0;      ctrk.good0[1]=trk2->good0;
208      for (Int_t m = 0; m < 6; m++){      for (Int_t m = 0; m < 6; m++){
209        ph = eh1->GetPscuHeader();        ph = eh1->GetPscuHeader();
210          cod = eh1->GetCounter();
211        FOBT[0]= ph->GetOrbitalTime();        FOBT[0]= ph->GetOrbitalTime();
212        ctrk.daqmode[trk1->DSPnumber[m]-1]=trk1->DAQmode[m];        ctrk.daqmode[trk1->DSPnumber[m]-1]=trk1->DAQmode[m];
213        ctrk.dspnum[trk1->DSPnumber[m]-1]=trk1->DSPnumber[m];        ctrk.dspnum[trk1->DSPnumber[m]-1]=trk1->DSPnumber[m];
# Line 259  void FTrkCalibQLook_EXPERT(TString file, Line 256  void FTrkCalibQLook_EXPERT(TString file,
256          ctrk.dspped[trk2->DSPnumber[m]-1][j]=trk2->DSPped_par[m][j];          ctrk.dspped[trk2->DSPnumber[m]-1][j]=trk2->DSPped_par[m][j];
257          ctrk.dspsig[trk2->DSPnumber[m]-1][j]=trk2->DSPsig_par[m][j];          ctrk.dspsig[trk2->DSPnumber[m]-1][j]=trk2->DSPsig_par[m][j];
258          ctrk.dspbad[trk2->DSPnumber[m]-1][j]=trk2->DSPbad_par[m][j];          ctrk.dspbad[trk2->DSPnumber[m]-1][j]=trk2->DSPbad_par[m][j];
259        };        }
260      };      }
261                                
262    
263      //      //
# Line 268  void FTrkCalibQLook_EXPERT(TString file, Line 265  void FTrkCalibQLook_EXPERT(TString file,
265      Int_t risposta=0;      Int_t risposta=0;
266      stringstream fromfile;      stringstream fromfile;
267    
268      fromfile<<"FTrkCalibQLook_EXPERT      File: "<<ffile<<"        -- CalibHeader OBT= "<<HOBT<<" -- Calib pkt OBT= "<<FOBT[0]<<" -- CalibTrailer OBT= "<<TOBT<<" --";      fromfile<<"FTrkCalibQLook_EXPERT      File: "<<ffile<<"        -- CalibHeader OBT= "<<HOBT[(cod->Get(pctp->CalibHeader))-1]<<" -- Calib pkt OBT= "<<FOBT[0]<<" -- CalibTrailer OBT= "<<TOBT[(cod->Get(pctp->CalibHeader))-1]<<" --";
269            
270      gStyle->SetLabelSize(0.08,"x");      gStyle->SetLabelSize(0.07,"x");
271      gStyle->SetLabelSize(0.08,"y");      gStyle->SetLabelSize(0.07,"y");
272      gStyle->SetTitleFillColor(10);      gStyle->SetTitleFillColor(10);
273      gStyle->SetTitleFontSize(0.1);      gStyle->SetTitleFontSize(0.08);
274      gStyle->SetTitleOffset(0.8,"y");      gStyle->SetTitleOffset(0.8,"y");
275      gStyle->SetTitleOffset(1.,"x");      gStyle->SetTitleOffset(0.9,"x");
276      gStyle->SetTitleSize(0.06,"y");      gStyle->SetTitleSize(0.06,"y");
277      gStyle->SetTitleSize(0.06,"x");      gStyle->SetTitleSize(0.06,"x");
278      gStyle->SetOptStat(0);      gStyle->SetOptStat(101110);  
279        gStyle->SetStatX(0.9);  
280        gStyle->SetStatW(0.4);    
281        gStyle->SetStatColor(10);
282        gStyle->SetStatFontSize(0.1);
283            
284      //      //
285      //  draw display area      //  draw display area
286    
287      TLatex *tzz=new TLatex();      TLatex *tzz=new TLatex();
288      tzz->SetTextFont(32);      tzz->SetTextFont(32);
289      tzz->SetTextColor(1);      tzz->SetTextColor(1);
# Line 298  void FTrkCalibQLook_EXPERT(TString file, Line 300  void FTrkCalibQLook_EXPERT(TString file,
300      tzz->DrawLatex(.01,0.98,fromfile.str().c_str());      tzz->DrawLatex(.01,0.98,fromfile.str().c_str());
301      tzz->DrawLatex(.90,0.98,"SIGMA");      tzz->DrawLatex(.90,0.98,"SIGMA");
302    
303      
304        TCanvas *sig=new TCanvas("sig","FTrkCalibQLook_EXPERT_histosig",canvasx,canvasy);
305        sig->SetFillColor(10);
306        tzz->DrawLatex(.01,0.98,fromfile.str().c_str());
307        tzz->DrawLatex(.85,0.97,"Histograms of the sigmas");
308        
309    
310    
311      //  draw pads      //  draw pads
312      TPad *trkpad1[12],*trkpad2[12];        //pad for histos      TPad *trkpad1[12],*trkpad2[12],*trkpad3[36];        //pad for histos
313      TPaveText *trkpadtext[12]; //pad for header      TPaveText *trkpadtext[12]; //pad for header
314      TH1F *histosig[12];           //histos of sigma      TH1F *histosig[12];           //histos of sigma
315      TH1F *histoped[12];          //histos of pedestals        TH1F *histoped[12];          //histos of pedestals  
316      TH1F *histoasig[12];           //histos of sigma      TH1F *histoasig[12];           //histos of sigma
317      TH1F *histoaped[12];          //histos of pedestals      TH1F *histoaped[12];          //histos of pedestals
318        
319      Double_t posy = 0.95;    // up y-coord - top pads      TH1F *histosiglad[12][3];           //histos of sigma
     Double_t hpad = 0.15;   // pad height  
     Double_t posx1=0;          // left  x-coord - pad column  
     Double_t posx2=0;          // right x-coord - pad olumn  
     Double_t posx0=0;          //       x-coord - column division  
     Double_t wrel = 0.6;     // relative x size of first sub-column  
     Double_t marg = 0.004;   // margin among pads  
320      stringstream title;      stringstream title;
321      stringstream hid;      stringstream hid;
322        
323        Float_t posy = 0.95;    // up y-coord - top pads
324        Float_t hpad = 0.15;   // pad height
325        Float_t posx1=0;          // left  x-coord - pad column
326        Float_t posx2=0;          // right x-coord - pad olumn
327        Float_t posx0=0;          //       x-coord - column division
328        Float_t wrel = 0.6;     // relative x size of first sub-column
329        Float_t marg = 0.004;   // margin among pads
330    
331        
332      for(Int_t n = 0; n<12; n++){      for(Int_t n = 0; n<12; n++){
333        if ( (n+1)%2 ) {        if ( (n+1)%2 ) {
334          if(n>1)posy = posy-(marg*2+hpad);          if(n>1)posy = posy-(marg*2+hpad);
335          posx1 = marg;          posx1 = marg;
336          posx2 = 0.5 - marg;          posx2 = 0.5 - marg;
337          posx0 = 0.5*wrel;          posx0 = 0.5*wrel;
338    
339        } else {        } else {
340          posx1 = posx1 + 0.5;          posx1 = posx1 + 0.5;
341          posx2 = posx2 + 0.5;          posx2 = posx2 + 0.5;
342          posx0 = posx0 + 0.5;          posx0 = posx0 + 0.5;
343    
344        };        };
345        /* -----------> pad for histograms  */        /* -----------> pad for histograms  */
346        trkpad1[n] = new TPad("pad1"," ",posx1,posy-hpad,posx0-marg,posy,18,0,0);        trkpad1[n] = new TPad("pad1"," ",posx1,posy-hpad,posx0-marg,posy,18,0,0);
# Line 335  void FTrkCalibQLook_EXPERT(TString file, Line 350  void FTrkCalibQLook_EXPERT(TString file,
350        /* -----------> HISTOGRAMS          */        /* -----------> HISTOGRAMS          */
351        /* calibration parameters */        /* calibration parameters */
352        title<<"DSP "<<n+1;        title<<"DSP "<<n+1;
353        hid<<"h"<<n;        hid<<"h"<<n<<"i"<<i;
354        histosig[n] = new TH1F(hid.str().c_str(),title.str().c_str(),3072,0.5,3072.5);        histosig[n] = new TH1F(hid.str().c_str(),title.str().c_str(),3072,0.5,3072.5);
355        hid.str("");        hid.str("");
356        hid<<"hh"<<n;        hid<<"hh"<<n<<"i"<<i;
357        histoped[n] = new TH1F(hid.str().c_str(),title.str().c_str(),3072,0.5,3072.5);        histoped[n] = new TH1F(hid.str().c_str(),title.str().c_str(),3072,0.5,3072.5);
358        hid.str("");        hid.str("");
359        hid<<"hhh"<<n;        hid<<"hhh"<<n<<"i"<<i;
       title.str("");  
360        hid.str("");        hid.str("");
361        /* AVERAGE calibration parameters */            /* AVERAGE calibration parameters */    
362        hid<<"ah"<<n;        hid<<"ah"<<n<<"i"<<i;
363        histoasig[n] = new TH1F(hid.str().c_str(),title.str().c_str(),3,0.5,3072.5);        histoasig[n] = new TH1F(hid.str().c_str(),title.str().c_str(),3,0.5,3072.5);
364        hid.str("");        hid.str("");
365        hid<<"ahh"<<n;        hid<<"ahh"<<n<<"i"<<i;
366        histoaped[n] = new TH1F(hid.str().c_str(),title.str().c_str(),3,0.5,3072.5);        histoaped[n] = new TH1F(hid.str().c_str(),title.str().c_str(),3,0.5,3072.5);
367        hid.str("");        hid.str("");
368          for(int ii=0;ii<3;ii++){
369            title.str("");
370            title<<"DSP "<<n+1<<" / Lad "<<ii+1;
371            hid<<"hhhh"<<n<<"i"<<i<<"ii"<<ii;
372            histosiglad[n][ii] = new TH1F(hid.str().c_str(),title.str().c_str(),32,-0.5,30.5);
373            hid.str("");
374          }
375          title.str("");
376      };                     //end loop on views      };                     //end loop on views
377        
378        Float_t tposy = 0.95;    // up y-coord - top pads
379        Float_t thpad = 0.;   // pad height
380        Float_t tposx1=0;          // left  x-coord - pad column
381        Float_t tposx0=0;          //       x-coord - column division
382        Float_t twrel = 0.;     // relative x size of first sub-column
383        Float_t tmarg = 0.002;   // margin among pads
384        thpad = (tposy-tmarg*11)/6;
385        twrel = (1-tmarg*12)/6;
386    
387        for(Int_t n = 0; n<36; n++){
388          if ( (n+1)%6==1 ) {
389            if(n>1) tposy = tposy-(tmarg*2+thpad);
390            tposx1 = tmarg;
391            tposx0 = tposx1 + twrel;
392          } else {
393            tposx1 = tposx0 + 2*tmarg;
394            tposx0 = tposx1 + twrel;
395          }
396          trkpad3[n]= new TPad("pad3"," ",tposx1,tposy-thpad,tposx0,tposy,18,0,0);
397        }
398        
399      
400      stringstream message;      stringstream message;
401      
402      //--------------------------------      //--------------------------------
403      //CHECK CALIBRATION procedure      //CHECK CALIBRATION procedure
404      //--------------------------------      //--------------------------------
# Line 363  void FTrkCalibQLook_EXPERT(TString file, Line 406  void FTrkCalibQLook_EXPERT(TString file,
406      Int_t calok = 0;//BAD        Int_t calok = 0;//BAD  
407      for(Int_t n = 0; n<12; n++){      for(Int_t n = 0; n<12; n++){
408        if(ctrk.ncalev[n]==0 && ctrk.calfl[n]==0)calok = 1;//GOOD        if(ctrk.ncalev[n]==0 && ctrk.calfl[n]==0)calok = 1;//GOOD
409          
410                
411        nn=ctrk.dspnum[n]-1;        nn=ctrk.dspnum[n]-1;
412        /*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*        /*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
# Line 439  void FTrkCalibQLook_EXPERT(TString file, Line 482  void FTrkCalibQLook_EXPERT(TString file,
482        for(Int_t j = 0; j < 3072; j++){        for(Int_t j = 0; j < 3072; j++){
483          histosig[nn]->Fill((Float_t)j,ctrk.dspsig[nn][j]);          histosig[nn]->Fill((Float_t)j,ctrk.dspsig[nn][j]);
484          histoped[nn]->Fill((Float_t)j,ctrk.dspped[nn][j]);          histoped[nn]->Fill((Float_t)j,ctrk.dspped[nn][j]);
485            if(j<1024) histosiglad[nn][0]->Fill(ctrk.dspsig[nn][j]);
486            if(j>=1024 && j<2048) histosiglad[nn][1]->Fill(ctrk.dspsig[nn][j]);
487            if(j>=2048 && j<3072) histosiglad[nn][2]->Fill(ctrk.dspsig[nn][j]);
488        };        };
489        histoasig[nn]->Fill(1,ctrk.sig1[nn]);        histoasig[nn]->Fill(1,ctrk.sig1[nn]);
490        histoasig[nn]->Fill(1025,ctrk.sig2[nn]);        histoasig[nn]->Fill(1025,ctrk.sig2[nn]);
# Line 453  void FTrkCalibQLook_EXPERT(TString file, Line 499  void FTrkCalibQLook_EXPERT(TString file,
499        li.SetLineStyle(3);        li.SetLineStyle(3);
500        li.SetLineWidth(2);        li.SetLineWidth(2);
501                
502                Float_t maxhist=0;
503          TBox b;
504        /* plot PEDESTAL */        /* plot PEDESTAL */
505        c1->cd();        c1->cd();
506        trkpadtext[nn]->Draw();        trkpadtext[nn]->Draw();
# Line 461  void FTrkCalibQLook_EXPERT(TString file, Line 508  void FTrkCalibQLook_EXPERT(TString file,
508        trkpad1[nn]->cd();        trkpad1[nn]->cd();
509        trkpad1[nn]->SetFillColor(10);        trkpad1[nn]->SetFillColor(10);
510        trkpad1[nn]->SetFrameFillColor(10);        trkpad1[nn]->SetFrameFillColor(10);
511          histoped[nn]->SetStats(kFALSE);
512        histoped[nn]->SetLineColor(1);        histoped[nn]->SetLineColor(1);
513        histoped[nn]->SetFillColor(12);        histoped[nn]->SetFillColor(12);
514        histoped[nn]->SetLineWidth(1);        histoped[nn]->SetLineWidth(1);
515        histoped[nn]->GetYaxis()->SetTitle("PED (ADC channels)");        histoped[nn]->GetYaxis()->SetTitle("PED (ADC channels)");
516        histoped[nn]->GetYaxis()->CenterTitle();        histoped[nn]->GetYaxis()->CenterTitle();
517        if((nn+1)%2==1)  histoped[nn]->GetYaxis()->SetRangeUser(2500,3200);        if((nn+1)%2==1)  histoped[nn]->GetYaxis()->SetRangeUser(2200,3200);
518        if((nn+1)%2==0)  histoped[nn]->GetYaxis()->SetRangeUser(1000,1700);        if((nn+1)%2==0)  histoped[nn]->GetYaxis()->SetRangeUser(700,1700);
519        histoaped[nn]->SetLineColor(5);        histoaped[nn]->SetLineColor(5);
520        histoaped[nn]->SetLineWidth(1);        histoaped[nn]->SetLineWidth(1);
521        if(ctrk.good0[0]==1 && ctrk.good0[1]==1) histoped[nn]->Draw("b");        if(ctrk.good0[0]==1 && ctrk.good0[1]==1){
522            histoped[nn]->Draw("b");
523            if(nn==1){
524              maxhist=histoped[nn]->GetMaximum();
525              b.SetFillColor(6);
526              b.SetFillStyle(3945);
527              b.DrawBox(2944.,700.,3060.,maxhist);
528    
529              b.SetFillColor(107);
530              b.SetFillStyle(3954);
531              b.DrawBox(2816.,700.,2944.,maxhist);
532              b.DrawBox(2048.,700.,2176.,maxhist);
533            }
534            else if(nn==6){
535              maxhist=histoped[nn]->GetMaximum();
536              b.SetFillColor(6);
537              b.SetFillStyle(3945);
538              b.DrawBox(2560.,2200.,2816.,maxhist);
539              b.DrawBox(1024.,2200.,1792.,maxhist);
540              
541              b.SetFillColor(107);
542              b.SetFillStyle(3954);
543              b.DrawBox(512.,2200.,768.,maxhist);
544            }
545            else if(nn==7){
546              maxhist=histoped[nn]->GetMaximum();
547              b.SetFillColor(107);
548              b.SetFillStyle(3954);
549              b.DrawBox(512.,700.,768.,maxhist);
550            }
551            else if(nn==11){
552              maxhist=histoped[nn]->GetMaximum();
553              b.SetFillColor(6);
554              b.SetFillStyle(3945);
555              b.DrawBox(768.,700.,1024.,maxhist);
556              
557              b.SetFillColor(107);
558              b.SetFillStyle(3954);
559              b.DrawBox(0.,700.,512.,maxhist);
560              b.DrawBox(1920.,700.,2048.,maxhist);
561            }
562          }
563        else histoped[nn]->Draw("axis");        else histoped[nn]->Draw("axis");
564        histoaped[nn]->Draw("same");        histoaped[nn]->Draw("same");
565        if((nn+1)%2==1) {        if((nn+1)%2==1) {
566          li.DrawLine(1024.5,2500,1024.5,3200);          li.DrawLine(1024.5,2200,1024.5,3200);
567          li.DrawLine(2048.5,2500,2048.5,3200);          li.DrawLine(2048.5,2200,2048.5,3200);
568        }        }
569        if((nn+1)%2==0) {        if((nn+1)%2==0) {
570          li.DrawLine(1024.5,1000,1024.5,1700);          li.DrawLine(1024.5,700,1024.5,1700);
571          li.DrawLine(2048.5,1000,2048.5,1700);          li.DrawLine(2048.5,700,2048.5,1700);
572        }        }
573                
574    
575                
576        /* plot SIGMA */        /* plot SIGMA */
577        Double_t max=500.;        Float_t max=500.;
578        c2->cd();        c2->cd();
579        trkpadtext[nn]->Draw();        trkpadtext[nn]->Draw();
580        trkpad2[nn]->SetLogy();        trkpad2[nn]->SetLogy();
# Line 492  void FTrkCalibQLook_EXPERT(TString file, Line 582  void FTrkCalibQLook_EXPERT(TString file,
582        trkpad2[nn]->cd();        trkpad2[nn]->cd();
583        trkpad2[nn]->SetFillColor(10);        trkpad2[nn]->SetFillColor(10);
584        trkpad2[nn]->SetFrameFillColor(10);        trkpad2[nn]->SetFrameFillColor(10);
585          histosig[nn]->SetStats(kFALSE);
586        histosig[nn]->SetLineColor(1);        histosig[nn]->SetLineColor(1);
587        histosig[nn]->SetFillColor(12);        histosig[nn]->SetFillColor(12);
588        histosig[nn]->SetLineWidth(1);        histosig[nn]->SetLineWidth(1);
# Line 501  void FTrkCalibQLook_EXPERT(TString file, Line 592  void FTrkCalibQLook_EXPERT(TString file,
592        histosig[nn]->GetYaxis()->CenterTitle();        histosig[nn]->GetYaxis()->CenterTitle();
593        histoasig[nn]->SetLineColor(5);        histoasig[nn]->SetLineColor(5);
594        histoasig[nn]->SetLineWidth(1);        histoasig[nn]->SetLineWidth(1);
595        if(ctrk.good0[0]==1 && ctrk.good0[1]==1) histosig[nn]->Draw("b");        if(ctrk.good0[0]==1 && ctrk.good0[1]==1){
596            histosig[nn]->Draw("b");
597            if(nn==1){
598              maxhist=histosig[nn]->GetMaximum();
599              b.SetFillColor(6);
600              b.SetFillStyle(3945);
601              b.DrawBox(2944.,0.,3060.,maxhist);
602    
603              b.SetFillColor(107);
604              b.SetFillStyle(3954);
605              b.DrawBox(2816.,0.,2944.,maxhist);
606              b.DrawBox(2048.,0.,2176.,maxhist);
607            }
608            else if(nn==6){
609              maxhist=histosig[nn]->GetMaximum();
610              b.SetFillColor(6);
611              b.SetFillStyle(3945);
612              b.DrawBox(2560.,0.,2816.,maxhist);
613              b.DrawBox(1024.,0.,1792.,maxhist);
614              
615              b.SetFillColor(107);
616              b.SetFillStyle(3954);
617              b.DrawBox(512.,0.,768.,maxhist);
618            }
619            else if(nn==7){
620              maxhist=histosig[nn]->GetMaximum();
621              b.SetFillColor(107);
622              b.SetFillStyle(3954);
623              b.DrawBox(512.,0.,768.,maxhist);
624            }
625            else if(nn==11){
626              maxhist=histosig[nn]->GetMaximum();
627              b.SetFillColor(6);
628              b.SetFillStyle(3945);
629              b.DrawBox(768.,0.,1024.,maxhist);
630              
631              b.SetFillColor(107);
632              b.SetFillStyle(3954);
633              b.DrawBox(0.,0.,512.,maxhist);
634              b.DrawBox(1920.,0.,2048.,maxhist);
635            }
636          }
637        else histosig[nn]->Draw("axis");        else histosig[nn]->Draw("axis");
638        histoasig[nn]->Draw("same");        histoasig[nn]->Draw("same");
639        li.DrawLine(1024.5,0,1024.5,max);        li.DrawLine(1024.5,0,1024.5,max);
640        li.DrawLine(2048.5,0,2048.5,max);        li.DrawLine(2048.5,0,2048.5,max);
641                  
642      };//end loop on views        for(int ii=0;ii<3;ii++){
643            sig->cd();
644            trkpad3[nn*3+ii]->Draw();
645            trkpad3[nn*3+ii]->cd();
646            trkpad3[nn*3+ii]->SetFillColor(10);
647            trkpad3[nn*3+ii]->SetFrameFillColor(10);
648            trkpad3[nn*3+ii]->SetLogy();
649            histosiglad[nn][ii]->SetLineColor(1);
650            histosiglad[nn][ii]->SetFillColor(1);
651            histosiglad[nn][ii]->SetLineWidth(1);
652            histosiglad[nn][ii]->GetXaxis()->SetTitle("SIG (ADC channels)");
653            histosiglad[nn][ii]->GetXaxis()->CenterTitle();
654            histosiglad[nn][ii]->Draw("");  
655          }
656            
657        };//end loop on views
658      c1->Update();//draw pads in canvas      c1->Update();//draw pads in canvas
659      c2->Update();//draw pads in canvas      c2->Update();//draw pads in canvas
660        sig->Update();//draw pads in canvas
661      stringstream nom1;      
662      stringstream nom2;      stringstream nom1,nom2,nom3;
663          
664      if(!strcmp(outfile.Data(),"ps")||!strcmp(outfile.Data(),"pdf")){      if(!strcmp(outfile.Data(),"ps")||!strcmp(outfile.Data(),"pdf")){
665        nom1.str("");        nom1.str("");
666        nom2.str("");        nom2.str("");
667          nom3.str("");
668        nom1<<out<<ffile<<"_FTrkCalibQLook_EXPERT-pkt"<<i+1<<".ps(";        nom1<<out<<ffile<<"_FTrkCalibQLook_EXPERT-pkt"<<i+1<<".ps(";
669        nom2<<out<<ffile<<"_FTrkCalibQLook_EXPERT-pkt"<<i+1<<".ps)";        nom2<<out<<ffile<<"_FTrkCalibQLook_EXPERT-pkt"<<i+1<<".ps";
670          nom3<<out<<ffile<<"_FTrkCalibQLook_EXPERT-pkt"<<i+1<<".ps)";
671        c1->Print(nom1.str().c_str(),"Landscape");        c1->Print(nom1.str().c_str(),"Landscape");
672        c2->Print(nom2.str().c_str(),"Landscape");        c2->Print(nom2.str().c_str(),"Landscape");
673          sig->Print(nom3.str().c_str(),"Landscape");
674          
675        if(!strcmp(outfile.Data(),"pdf")){        if(!strcmp(outfile.Data(),"pdf")){
676          stringstream com;          stringstream com;
677          com<<"ps2pdf13 "<<out<<ffile<<"_FTrkCalibQLook_EXPERT-pkt"<<i+1<<".ps "<<out<<ffile<<"_FTrkCalibQlook_EXPERT-pkt"<<i+1<<".pdf";          com<<"ps2pdf13 "<<out<<ffile<<"_FTrkCalibQLook_EXPERT-pkt"<<i+1<<".ps "<<out<<ffile<<"_FTrkCalibQlook_EXPERT-pkt"<<i+1<<".pdf";
# Line 537  void FTrkCalibQLook_EXPERT(TString file, Line 687  void FTrkCalibQLook_EXPERT(TString file,
687      else{      else{
688        nom1.str("");        nom1.str("");
689        nom2.str("");        nom2.str("");
690          nom3.str("");
691        nom1<<out<<ffile<<"_FTrkCalibQLook_EXPERT-ped-pkt"<<i+1<<"."<<outfile.Data();        nom1<<out<<ffile<<"_FTrkCalibQLook_EXPERT-ped-pkt"<<i+1<<"."<<outfile.Data();
692        nom2<<out<<ffile<<"_FTrkCalibQLook_EXPERT-sig-pkt"<<i+1<<"."<<outfile.Data();        nom2<<out<<ffile<<"_FTrkCalibQLook_EXPERT-sig-pkt"<<i+1<<"."<<outfile.Data();
693          nom3<<out<<ffile<<"_FTrkCalibQLook_EXPERT-histosig-pkt"<<i+1<<"."<<outfile.Data();
694        c1->Print(nom1.str().c_str());        c1->Print(nom1.str().c_str());
695        c2->Print(nom2.str().c_str());        c2->Print(nom2.str().c_str());
696          sig->Print(nom3.str().c_str());
697      }      }
698              
699      if(step==1 && i!=maxevent-1 ){        if(step==1 && i!=maxevent-1 ){  
700        printf("\n Press 1<enter> to continue, 2<enter> to quit.\n");        printf("\n Press 1<enter> to continue, 2<enter> to quit.\n");
701        cin>>risposta;        cin>>risposta;

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.23