/[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.2 by pam-fi, Thu May 18 13:06:08 2006 UTC revision 1.11 by pam-fi, Tue Aug 22 15:47:48 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 v1r10
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      Int_t tcevent=totr->GetEntries();
191      ULong64_t HOBT[hcevent], TOBT[tcevent];
192      for (Int_t i = 0; i < hcevent; i++){
193        hotr->GetEntry(i);
194        ph = eh4->GetPscuHeader();
195        HOBT[i]= ph->GetOrbitalTime();
196      }
197      for (Int_t i = 0; i < tcevent; i++){
198        totr->GetEntry(i);
199        ph = eh3->GetPscuHeader();
200        TOBT[i]= ph->GetOrbitalTime();
201      }
202        
203    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);
204    for (Int_t i = minevent; i < maxevent; i++){        for (Int_t i = minevent; i < maxevent; i++){    
205            
206      otr1->GetEntry(i);      otr1->GetEntry(i);
207      otr2->GetEntry(i);      otr2->GetEntry(i);
208      totr->GetEntry(i);      
     hotr->GetEntry(i);  
     ph = eh4->GetPscuHeader();  
     HOBT= ph->GetOrbitalTime();  
     ph = eh3->GetPscuHeader();  
     TOBT= ph->GetOrbitalTime();  
         
209      ctrk.good0[0]=trk1->good0;      ctrk.good0[0]=trk1->good0;
210      ctrk.good0[1]=trk2->good0;      ctrk.good0[1]=trk2->good0;
211      for (Int_t m = 0; m < 6; m++){      for (Int_t m = 0; m < 6; m++){
212        ph = eh1->GetPscuHeader();        ph = eh1->GetPscuHeader();
213          cod = eh1->GetCounter();
214        FOBT[0]= ph->GetOrbitalTime();        FOBT[0]= ph->GetOrbitalTime();
215        ctrk.daqmode[trk1->DSPnumber[m]-1]=trk1->DAQmode[m];        ctrk.daqmode[trk1->DSPnumber[m]-1]=trk1->DAQmode[m];
216        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 259  void FTrkCalibQLook_EXPERT(TString file,
259          ctrk.dspped[trk2->DSPnumber[m]-1][j]=trk2->DSPped_par[m][j];          ctrk.dspped[trk2->DSPnumber[m]-1][j]=trk2->DSPped_par[m][j];
260          ctrk.dspsig[trk2->DSPnumber[m]-1][j]=trk2->DSPsig_par[m][j];          ctrk.dspsig[trk2->DSPnumber[m]-1][j]=trk2->DSPsig_par[m][j];
261          ctrk.dspbad[trk2->DSPnumber[m]-1][j]=trk2->DSPbad_par[m][j];          ctrk.dspbad[trk2->DSPnumber[m]-1][j]=trk2->DSPbad_par[m][j];
262        };        }
263      };      }
264                                
265    
266      //      //
# Line 268  void FTrkCalibQLook_EXPERT(TString file, Line 268  void FTrkCalibQLook_EXPERT(TString file,
268      Int_t risposta=0;      Int_t risposta=0;
269      stringstream fromfile;      stringstream fromfile;
270    
271      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->CalibTrailer))]<<" --";
272            
273      gStyle->SetLabelSize(0.08,"x");      gStyle->SetLabelSize(0.07,"x");
274      gStyle->SetLabelSize(0.08,"y");      gStyle->SetLabelSize(0.07,"y");
275      gStyle->SetTitleFillColor(10);      gStyle->SetTitleFillColor(10);
276      gStyle->SetTitleFontSize(0.1);      gStyle->SetTitleFontSize(0.08);
277      gStyle->SetTitleOffset(0.8,"y");      gStyle->SetTitleOffset(0.8,"y");
278      gStyle->SetTitleOffset(1.,"x");      gStyle->SetTitleOffset(0.9,"x");
279      gStyle->SetTitleSize(0.06,"y");      gStyle->SetTitleSize(0.06,"y");
280      gStyle->SetTitleSize(0.06,"x");      gStyle->SetTitleSize(0.06,"x");
281      gStyle->SetOptStat(0);      gStyle->SetOptStat(101110);  
282        gStyle->SetStatX(0.9);  
283        gStyle->SetStatW(0.4);    
284        gStyle->SetStatColor(10);
285        gStyle->SetStatFontSize(0.1);
286            
287      //      //
288      //  draw display area      //  draw display area
289    
290      TLatex *tzz=new TLatex();      TLatex *tzz=new TLatex();
291      tzz->SetTextFont(32);      tzz->SetTextFont(32);
292      tzz->SetTextColor(1);      tzz->SetTextColor(1);
# Line 298  void FTrkCalibQLook_EXPERT(TString file, Line 303  void FTrkCalibQLook_EXPERT(TString file,
303      tzz->DrawLatex(.01,0.98,fromfile.str().c_str());      tzz->DrawLatex(.01,0.98,fromfile.str().c_str());
304      tzz->DrawLatex(.90,0.98,"SIGMA");      tzz->DrawLatex(.90,0.98,"SIGMA");
305    
306      
307        TCanvas *sig=new TCanvas("sig","FTrkCalibQLook_EXPERT_histosig",canvasx,canvasy);
308        sig->SetFillColor(10);
309        tzz->DrawLatex(.01,0.98,fromfile.str().c_str());
310        tzz->DrawLatex(.85,0.97,"Histograms of the sigmas");
311        
312    
313    
314      //  draw pads      //  draw pads
315      TPad *trkpad1[12],*trkpad2[12];        //pad for histos      TPad *trkpad1[12],*trkpad2[12],*trkpad3[36];        //pad for histos
316      TPaveText *trkpadtext[12]; //pad for header      TPaveText *trkpadtext[12]; //pad for header
317      TH1F *histosig[12];           //histos of sigma      TH1F *histosig[12];           //histos of sigma
318      TH1F *histoped[12];          //histos of pedestals        TH1F *histoped[12];          //histos of pedestals  
319      TH1F *histoasig[12];           //histos of sigma      TH1F *histoasig[12];           //histos of sigma
320      TH1F *histoaped[12];          //histos of pedestals      TH1F *histoaped[12];          //histos of pedestals
321        
322      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  
323      stringstream title;      stringstream title;
324      stringstream hid;      stringstream hid;
325        
326        Float_t posy = 0.95;    // up y-coord - top pads
327        Float_t hpad = 0.15;   // pad height
328        Float_t posx1=0;          // left  x-coord - pad column
329        Float_t posx2=0;          // right x-coord - pad olumn
330        Float_t posx0=0;          //       x-coord - column division
331        Float_t wrel = 0.6;     // relative x size of first sub-column
332        Float_t marg = 0.004;   // margin among pads
333    
334        
335      for(Int_t n = 0; n<12; n++){      for(Int_t n = 0; n<12; n++){
336        if ( (n+1)%2 ) {        if ( (n+1)%2 ) {
337          if(n>1)posy = posy-(marg*2+hpad);          if(n>1)posy = posy-(marg*2+hpad);
338          posx1 = marg;          posx1 = marg;
339          posx2 = 0.5 - marg;          posx2 = 0.5 - marg;
340          posx0 = 0.5*wrel;          posx0 = 0.5*wrel;
341    
342        } else {        } else {
343          posx1 = posx1 + 0.5;          posx1 = posx1 + 0.5;
344          posx2 = posx2 + 0.5;          posx2 = posx2 + 0.5;
345          posx0 = posx0 + 0.5;          posx0 = posx0 + 0.5;
346    
347        };        };
348        /* -----------> pad for histograms  */        /* -----------> pad for histograms  */
349        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 353  void FTrkCalibQLook_EXPERT(TString file,
353        /* -----------> HISTOGRAMS          */        /* -----------> HISTOGRAMS          */
354        /* calibration parameters */        /* calibration parameters */
355        title<<"DSP "<<n+1;        title<<"DSP "<<n+1;
356        hid<<"h"<<n;        hid<<"h"<<n<<"i"<<i;
357        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);
358        hid.str("");        hid.str("");
359        hid<<"hh"<<n;        hid<<"hh"<<n<<"i"<<i;
360        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);
361        hid.str("");        hid.str("");
362        hid<<"hhh"<<n;        hid<<"hhh"<<n<<"i"<<i;
       title.str("");  
363        hid.str("");        hid.str("");
364        /* AVERAGE calibration parameters */            /* AVERAGE calibration parameters */    
365        hid<<"ah"<<n;        hid<<"ah"<<n<<"i"<<i;
366        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);
367        hid.str("");        hid.str("");
368        hid<<"ahh"<<n;        hid<<"ahh"<<n<<"i"<<i;
369        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);
370        hid.str("");        hid.str("");
371          for(int ii=0;ii<3;ii++){
372            title.str("");
373            title<<"DSP "<<n+1<<" / Lad "<<ii+1;
374            hid<<"hhhh"<<n<<"i"<<i<<"ii"<<ii;
375            histosiglad[n][ii] = new TH1F(hid.str().c_str(),title.str().c_str(),32,-0.5,30.5);
376            hid.str("");
377          }
378          title.str("");
379      };                     //end loop on views      };                     //end loop on views
380        
381        Float_t tposy = 0.95;    // up y-coord - top pads
382        Float_t thpad = 0.;   // pad height
383        Float_t tposx1=0;          // left  x-coord - pad column
384        Float_t tposx0=0;          //       x-coord - column division
385        Float_t twrel = 0.;     // relative x size of first sub-column
386        Float_t tmarg = 0.002;   // margin among pads
387        thpad = (tposy-tmarg*11)/6;
388        twrel = (1-tmarg*12)/6;
389    
390        for(Int_t n = 0; n<36; n++){
391          if ( (n+1)%6==1 ) {
392            if(n>1) tposy = tposy-(tmarg*2+thpad);
393            tposx1 = tmarg;
394            tposx0 = tposx1 + twrel;
395          } else {
396            tposx1 = tposx0 + 2*tmarg;
397            tposx0 = tposx1 + twrel;
398          }
399          trkpad3[n]= new TPad("pad3"," ",tposx1,tposy-thpad,tposx0,tposy,18,0,0);
400        }
401        
402      
403      stringstream message;      stringstream message;
404      
405      //--------------------------------      //--------------------------------
406      //CHECK CALIBRATION procedure      //CHECK CALIBRATION procedure
407      //--------------------------------      //--------------------------------
# Line 363  void FTrkCalibQLook_EXPERT(TString file, Line 409  void FTrkCalibQLook_EXPERT(TString file,
409      Int_t calok = 0;//BAD        Int_t calok = 0;//BAD  
410      for(Int_t n = 0; n<12; n++){      for(Int_t n = 0; n<12; n++){
411        if(ctrk.ncalev[n]==0 && ctrk.calfl[n]==0)calok = 1;//GOOD        if(ctrk.ncalev[n]==0 && ctrk.calfl[n]==0)calok = 1;//GOOD
412          
413                
414        nn=ctrk.dspnum[n]-1;        nn=ctrk.dspnum[n]-1;
415        /*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*        /*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
# Line 439  void FTrkCalibQLook_EXPERT(TString file, Line 485  void FTrkCalibQLook_EXPERT(TString file,
485        for(Int_t j = 0; j < 3072; j++){        for(Int_t j = 0; j < 3072; j++){
486          histosig[nn]->Fill((Float_t)j,ctrk.dspsig[nn][j]);          histosig[nn]->Fill((Float_t)j,ctrk.dspsig[nn][j]);
487          histoped[nn]->Fill((Float_t)j,ctrk.dspped[nn][j]);          histoped[nn]->Fill((Float_t)j,ctrk.dspped[nn][j]);
488            if(j<1024) histosiglad[nn][0]->Fill(ctrk.dspsig[nn][j]);
489            if(j>=1024 && j<2048) histosiglad[nn][1]->Fill(ctrk.dspsig[nn][j]);
490            if(j>=2048 && j<3072) histosiglad[nn][2]->Fill(ctrk.dspsig[nn][j]);
491        };        };
492        histoasig[nn]->Fill(1,ctrk.sig1[nn]);        histoasig[nn]->Fill(1,ctrk.sig1[nn]);
493        histoasig[nn]->Fill(1025,ctrk.sig2[nn]);        histoasig[nn]->Fill(1025,ctrk.sig2[nn]);
# Line 453  void FTrkCalibQLook_EXPERT(TString file, Line 502  void FTrkCalibQLook_EXPERT(TString file,
502        li.SetLineStyle(3);        li.SetLineStyle(3);
503        li.SetLineWidth(2);        li.SetLineWidth(2);
504                
505        Double_t maxhist=0;        Float_t maxhist=0;
506        TBox b;        TBox b;
       b.SetFillColor(6);  
       b.SetFillStyle(3945);  
507        /* plot PEDESTAL */        /* plot PEDESTAL */
508        c1->cd();        c1->cd();
509        trkpadtext[nn]->Draw();        trkpadtext[nn]->Draw();
# Line 464  void FTrkCalibQLook_EXPERT(TString file, Line 511  void FTrkCalibQLook_EXPERT(TString file,
511        trkpad1[nn]->cd();        trkpad1[nn]->cd();
512        trkpad1[nn]->SetFillColor(10);        trkpad1[nn]->SetFillColor(10);
513        trkpad1[nn]->SetFrameFillColor(10);        trkpad1[nn]->SetFrameFillColor(10);
514          histoped[nn]->SetStats(kFALSE);
515        histoped[nn]->SetLineColor(1);        histoped[nn]->SetLineColor(1);
516        histoped[nn]->SetFillColor(12);        histoped[nn]->SetFillColor(12);
517        histoped[nn]->SetLineWidth(1);        histoped[nn]->SetLineWidth(1);
# Line 477  void FTrkCalibQLook_EXPERT(TString file, Line 525  void FTrkCalibQLook_EXPERT(TString file,
525          histoped[nn]->Draw("b");          histoped[nn]->Draw("b");
526          if(nn==1){          if(nn==1){
527            maxhist=histoped[nn]->GetMaximum();            maxhist=histoped[nn]->GetMaximum();
528            b.DrawBox(2816.,700.,3060.,maxhist);            b.SetFillColor(6);
529              b.SetFillStyle(3945);
530              b.DrawBox(2944.,700.,3060.,maxhist);
531    
532              b.SetFillColor(107);
533              b.SetFillStyle(3954);
534              b.DrawBox(2816.,700.,2944.,maxhist);
535              b.DrawBox(2048.,700.,2176.,maxhist);
536            }
537            else if(nn==4){
538              maxhist=histoped[nn]->GetMaximum();
539              b.SetFillColor(107);
540              b.SetFillStyle(3954);
541              b.DrawBox(384.,2200.,512.,maxhist);
542          }          }
543          else if(nn==6){          else if(nn==6){
544            maxhist=histoped[nn]->GetMaximum();            maxhist=histoped[nn]->GetMaximum();
545              b.SetFillColor(6);
546              b.SetFillStyle(3945);
547            b.DrawBox(2560.,2200.,2816.,maxhist);            b.DrawBox(2560.,2200.,2816.,maxhist);
           b.DrawBox(512.,2200.,768.,maxhist);  
548            b.DrawBox(1024.,2200.,1792.,maxhist);            b.DrawBox(1024.,2200.,1792.,maxhist);
549              
550              b.SetFillColor(107);
551              b.SetFillStyle(3954);
552              b.DrawBox(512.,2200.,768.,maxhist);
553            }
554            else if(nn==7){
555              maxhist=histoped[nn]->GetMaximum();
556              b.SetFillColor(107);
557              b.SetFillStyle(3954);
558              b.DrawBox(512.,700.,768.,maxhist);
559          }          }
560          else if(nn==11){          else if(nn==11){
561            maxhist=histoped[nn]->GetMaximum();            maxhist=histoped[nn]->GetMaximum();
562              b.SetFillColor(6);
563              b.SetFillStyle(3945);
564            b.DrawBox(768.,700.,1024.,maxhist);            b.DrawBox(768.,700.,1024.,maxhist);
565              
566              b.SetFillColor(107);
567              b.SetFillStyle(3954);
568              b.DrawBox(0.,700.,512.,maxhist);
569              b.DrawBox(1920.,700.,2048.,maxhist);
570          }          }
571        }        }
572        else histoped[nn]->Draw("axis");        else histoped[nn]->Draw("axis");
# Line 504  void FTrkCalibQLook_EXPERT(TString file, Line 583  void FTrkCalibQLook_EXPERT(TString file,
583    
584                
585        /* plot SIGMA */        /* plot SIGMA */
586        Double_t max=500.;        Float_t max=500.;
587        c2->cd();        c2->cd();
588        trkpadtext[nn]->Draw();        trkpadtext[nn]->Draw();
589        trkpad2[nn]->SetLogy();        trkpad2[nn]->SetLogy();
# Line 512  void FTrkCalibQLook_EXPERT(TString file, Line 591  void FTrkCalibQLook_EXPERT(TString file,
591        trkpad2[nn]->cd();        trkpad2[nn]->cd();
592        trkpad2[nn]->SetFillColor(10);        trkpad2[nn]->SetFillColor(10);
593        trkpad2[nn]->SetFrameFillColor(10);        trkpad2[nn]->SetFrameFillColor(10);
594          histosig[nn]->SetStats(kFALSE);
595        histosig[nn]->SetLineColor(1);        histosig[nn]->SetLineColor(1);
596        histosig[nn]->SetFillColor(12);        histosig[nn]->SetFillColor(12);
597        histosig[nn]->SetLineWidth(1);        histosig[nn]->SetLineWidth(1);
# Line 525  void FTrkCalibQLook_EXPERT(TString file, Line 605  void FTrkCalibQLook_EXPERT(TString file,
605          histosig[nn]->Draw("b");          histosig[nn]->Draw("b");
606          if(nn==1){          if(nn==1){
607            maxhist=histosig[nn]->GetMaximum();            maxhist=histosig[nn]->GetMaximum();
608            b.DrawBox(2816.,0.,3060.,maxhist);            b.SetFillColor(6);
609              b.SetFillStyle(3945);
610              b.DrawBox(2944.,0.,3060.,maxhist);
611    
612              b.SetFillColor(107);
613              b.SetFillStyle(3954);
614              b.DrawBox(2816.,0.,2944.,maxhist);
615              b.DrawBox(2048.,0.,2176.,maxhist);
616            }
617            else if(nn==4){
618              maxhist=histosig[nn]->GetMaximum();
619              b.SetFillColor(107);
620              b.SetFillStyle(3954);
621              b.DrawBox(384.,0.,512.,maxhist);
622          }          }
623          else if(nn==6){          else if(nn==6){
624            maxhist=histosig[nn]->GetMaximum();            maxhist=histosig[nn]->GetMaximum();
625              b.SetFillColor(6);
626              b.SetFillStyle(3945);
627            b.DrawBox(2560.,0.,2816.,maxhist);            b.DrawBox(2560.,0.,2816.,maxhist);
           b.DrawBox(512.,0.,768.,maxhist);  
628            b.DrawBox(1024.,0.,1792.,maxhist);            b.DrawBox(1024.,0.,1792.,maxhist);
629              
630              b.SetFillColor(107);
631              b.SetFillStyle(3954);
632              b.DrawBox(512.,0.,768.,maxhist);
633            }
634            else if(nn==7){
635              maxhist=histosig[nn]->GetMaximum();
636              b.SetFillColor(107);
637              b.SetFillStyle(3954);
638              b.DrawBox(512.,0.,768.,maxhist);
639          }          }
640          else if(nn==11){          else if(nn==11){
641            maxhist=histosig[nn]->GetMaximum();            maxhist=histosig[nn]->GetMaximum();
642              b.SetFillColor(6);
643              b.SetFillStyle(3945);
644            b.DrawBox(768.,0.,1024.,maxhist);            b.DrawBox(768.,0.,1024.,maxhist);
645              
646              b.SetFillColor(107);
647              b.SetFillStyle(3954);
648              b.DrawBox(0.,0.,512.,maxhist);
649              b.DrawBox(1920.,0.,2048.,maxhist);
650          }          }
651        }        }
652        else histosig[nn]->Draw("axis");        else histosig[nn]->Draw("axis");
# Line 543  void FTrkCalibQLook_EXPERT(TString file, Line 654  void FTrkCalibQLook_EXPERT(TString file,
654        li.DrawLine(1024.5,0,1024.5,max);        li.DrawLine(1024.5,0,1024.5,max);
655        li.DrawLine(2048.5,0,2048.5,max);        li.DrawLine(2048.5,0,2048.5,max);
656                
657          for(int ii=0;ii<3;ii++){
658            sig->cd();
659      };//end loop on views          trkpad3[nn*3+ii]->Draw();
660            trkpad3[nn*3+ii]->cd();
661            trkpad3[nn*3+ii]->SetFillColor(10);
662            trkpad3[nn*3+ii]->SetFrameFillColor(10);
663            trkpad3[nn*3+ii]->SetLogy();
664            histosiglad[nn][ii]->SetLineColor(1);
665            histosiglad[nn][ii]->SetFillColor(1);
666            histosiglad[nn][ii]->SetLineWidth(1);
667            histosiglad[nn][ii]->GetXaxis()->SetTitle("SIG (ADC channels)");
668            histosiglad[nn][ii]->GetXaxis()->CenterTitle();
669            histosiglad[nn][ii]->Draw("");  
670          }
671            
672        };//end loop on views
673      c1->Update();//draw pads in canvas      c1->Update();//draw pads in canvas
674      c2->Update();//draw pads in canvas      c2->Update();//draw pads in canvas
675        sig->Update();//draw pads in canvas
676      stringstream nom1;      
677      stringstream nom2;      stringstream nom1,nom2,nom3;
678          
679      if(!strcmp(outfile.Data(),"ps")||!strcmp(outfile.Data(),"pdf")){      if(!strcmp(outfile.Data(),"ps")||!strcmp(outfile.Data(),"pdf")){
680        nom1.str("");        nom1.str("");
681        nom2.str("");        nom2.str("");
682          nom3.str("");
683        nom1<<out<<ffile<<"_FTrkCalibQLook_EXPERT-pkt"<<i+1<<".ps(";        nom1<<out<<ffile<<"_FTrkCalibQLook_EXPERT-pkt"<<i+1<<".ps(";
684        nom2<<out<<ffile<<"_FTrkCalibQLook_EXPERT-pkt"<<i+1<<".ps)";        nom2<<out<<ffile<<"_FTrkCalibQLook_EXPERT-pkt"<<i+1<<".ps";
685          nom3<<out<<ffile<<"_FTrkCalibQLook_EXPERT-pkt"<<i+1<<".ps)";
686        c1->Print(nom1.str().c_str(),"Landscape");        c1->Print(nom1.str().c_str(),"Landscape");
687        c2->Print(nom2.str().c_str(),"Landscape");        c2->Print(nom2.str().c_str(),"Landscape");
688          sig->Print(nom3.str().c_str(),"Landscape");
689          
690        if(!strcmp(outfile.Data(),"pdf")){        if(!strcmp(outfile.Data(),"pdf")){
691          stringstream com;          stringstream com;
692          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 575  void FTrkCalibQLook_EXPERT(TString file, Line 702  void FTrkCalibQLook_EXPERT(TString file,
702      else{      else{
703        nom1.str("");        nom1.str("");
704        nom2.str("");        nom2.str("");
705          nom3.str("");
706        nom1<<out<<ffile<<"_FTrkCalibQLook_EXPERT-ped-pkt"<<i+1<<"."<<outfile.Data();        nom1<<out<<ffile<<"_FTrkCalibQLook_EXPERT-ped-pkt"<<i+1<<"."<<outfile.Data();
707        nom2<<out<<ffile<<"_FTrkCalibQLook_EXPERT-sig-pkt"<<i+1<<"."<<outfile.Data();        nom2<<out<<ffile<<"_FTrkCalibQLook_EXPERT-sig-pkt"<<i+1<<"."<<outfile.Data();
708          nom3<<out<<ffile<<"_FTrkCalibQLook_EXPERT-histosig-pkt"<<i+1<<"."<<outfile.Data();
709        c1->Print(nom1.str().c_str());        c1->Print(nom1.str().c_str());
710        c2->Print(nom2.str().c_str());        c2->Print(nom2.str().c_str());
711          sig->Print(nom3.str().c_str());
712      }      }
713              
714      if(step==1 && i!=maxevent-1 ){        if(step==1 && i!=maxevent-1 ){  
715        printf("\n Press 1<enter> to continue, 2<enter> to quit.\n");        printf("\n Press 1<enter> to continue, 2<enter> to quit.\n");
716        cin>>risposta;        cin>>risposta;

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.23