Ignore:
Timestamp:
03/03/07 22:01:13 (18 years ago)
Author:
tbretz
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mhcalib/MHCalibrationPulseTimeCam.cc

    r8350 r8355  
    11/* ======================================================================== *\
    2 ! $Name: not supported by cvs2svn $:$Id: MHCalibrationPulseTimeCam.cc,v 1.32 2007-03-01 23:43:33 tbretz Exp $
     2! $Name: not supported by cvs2svn $:$Id: MHCalibrationPulseTimeCam.cc,v 1.33 2007-03-03 22:01:13 tbretz Exp $
    33! --------------------------------------------------------------------------
    44!
     
    105105
    106106#include <TEnv.h>
     107#include <TLine.h>
    107108#include <TGraph.h>
    108109#include <TLegend.h>
     
    218219  cam->fLast                   = fLast;
    219220  cam->fReferenceFile          = fReferenceFile;
     221  cam->fInnerRefTime           = fInnerRefTime;
     222  cam->fOuterRefTime           = fOuterRefTime;
    220223
    221224  if (!IsAverageing())
     
    301304        fHiGainArray->AddAt(new MHCalibrationPix(Form("%sHiGainPix%04d",fHistName.Data(),i),
    302305                                                 Form("%s High Gain Pixel %4d",fHistTitle.Data(),i)),i);
    303        
    304         MHCalibrationPix &pix = (*this)[i];         
     306
     307        MHCalibrationPix &pix = (*this)[i];
    305308        pix.SetBinning(fNbins, fFirst, fLast);
    306        
     309
    307310        MBadPixelsPix &bad = fIntensBad ? (*fIntensBad)[i] : (*fBadPixels)[i];
    308311        InitHists(pix,bad,i);
     
    322325        fAverageHiGainAreas->AddAt(new MHCalibrationPix(Form("%sHiGainArea%d",fHistName.Data(),j),
    323326                                                        Form("%s High Gain Area Idx %d",fHistTitle.Data(),j)),j);
    324        
     327
    325328        MHCalibrationPix &pix = GetAverageHiGainArea(j);
    326329        pix.SetBinning(fNbins, fFirst, fLast);
     
    338341          MHCalibrationPix &pix = GetAverageHiGainSector(j);
    339342          pix.SetBinning(fNbins, fFirst, fLast);
    340          
     343
    341344          InitHists(pix,fIntensCam ? fIntensCam->GetAverageBadSector(j) : fCam->GetAverageBadSector(j),j);
    342345      }
     
    469472  for (Int_t i=0; i<fHiGainArray->GetSize(); i++)
    470473    {
    471      
     474
    472475      MHCalibrationPix &hist = (*this)[i];
    473      
     476
    474477      if (hist.IsExcluded())
    475478        continue;
    476      
     479
    477480      MCalibrationPix &pix    = calcam[i];
    478481      CalcHists(hist,pix);
     
    481484  if (!IsAverageing())
    482485    return kTRUE;
    483  
     486
    484487  for (Int_t j=0; j<fAverageHiGainAreas->GetSize(); j++)
    485488    {
    486      
    487489      MHCalibrationPix &hist = GetAverageHiGainArea(j);
    488490      MCalibrationPix  &pix  = calcam.GetAverageArea(j);
    489491      CalcHists(hist,pix);
    490   }
    491  
     492    }
     493
    492494  for (Int_t j=0; j<fAverageHiGainSectors->GetSize(); j++)
    493495    {
     
    496498      CalcHists(hist,pix);
    497499    }
    498  
     500
    499501  return kTRUE;
    500502}
     
    570572  option.ToLower();
    571573
    572   TVirtualPad *pad = gPad ? gPad : MH::MakeDefCanvas(this); 
     574  TVirtualPad *pad = gPad ? gPad : MH::MakeDefCanvas(this);
    573575  pad->SetBorderMode(0);
    574   pad->Divide(1,nareas);
     576  pad->Divide(1,nareas, 1e-10, 1e-10);
    575577
    576578  //
    577579  // Loop over inner and outer pixels
    578   // 
    579   for (Int_t i=0; i<nareas;i++) 
     580  //
     581  for (Int_t i=0; i<nareas;i++)
    580582     {
    581        
    582583       pad->cd(i+1);
    583        
     584
    584585       MHCalibrationPix &hipix = GetAverageHiGainArea(i);
    585586       DrawDataCheckPixel(hipix,i ? fOuterRefTime : fInnerRefTime);
    586     }     
     587     }
    587588}
    588589
     
    597598void MHCalibrationPulseTimeCam::DrawDataCheckPixel(MHCalibrationPix &pix, const Float_t refline)
    598599{
    599  
    600   gPad->SetTicks();
    601 
    602   TH1F *hist = pix.GetHGausHist();
    603 
    604   TH1F *null = new TH1F("Null",hist->GetTitle(),100,
    605                         pix.GetFirst() > 0. ? pix.GetFirst() : 0.,
    606                         pix.GetLast() > pix.GetFirst()
    607                         ? pix.GetLast() : pix.GetFirst()*2.);
    608 
    609   null->SetMaximum(1.1*hist->GetMaximum());
    610   null->SetDirectory(NULL);
    611   null->SetBit(kCanDelete);
    612   null->SetStats(kFALSE);
    613   //
    614   // set the labels bigger
    615   //
    616   TAxis *xaxe = null->GetXaxis();
    617   TAxis *yaxe = null->GetYaxis();
    618   xaxe->CenterTitle();
    619   yaxe->CenterTitle();   
    620   xaxe->SetTitleSize(0.06);
    621   yaxe->SetTitleSize(0.076);   
    622   xaxe->SetTitleOffset(0.6);
    623   yaxe->SetTitleOffset(0.65);   
    624   xaxe->SetLabelSize(0.06);
    625   yaxe->SetLabelSize(0.06);   
    626   xaxe->SetTitle(hist->GetXaxis()->GetTitle());
    627   yaxe->SetTitle(hist->GetYaxis()->GetTitle()); 
    628 
    629   null->Draw();
    630   hist->Draw("same");
    631 
    632   DisplayRefLines(null,refline);
    633 
    634   return;
    635  
     600    gPad->SetBorderMode(0);
     601    gPad->SetTicks();
     602
     603    TH1F *hist = pix.GetHGausHist();
     604
     605    //
     606    // set the labels bigger
     607    //
     608    TAxis *xaxe = hist->GetXaxis();
     609    TAxis *yaxe = hist->GetYaxis();
     610    xaxe->CenterTitle();
     611    yaxe->CenterTitle();
     612    xaxe->SetTitleSize(0.06);
     613    yaxe->SetTitleSize(0.076);
     614    xaxe->SetTitleOffset(0.6);
     615    yaxe->SetTitleOffset(0.65);
     616    xaxe->SetLabelSize(0.06);
     617    yaxe->SetLabelSize(0.06);
     618    xaxe->SetTitle(hist->GetXaxis()->GetTitle());
     619    yaxe->SetTitle(hist->GetYaxis()->GetTitle());
     620    xaxe->SetRange(hist->GetMaximumBin()-30, hist->GetMaximumBin()+30);
     621
     622    hist->Draw();
     623
     624    DisplayRefLines(hist, refline);
    636625}
    637626
    638627void  MHCalibrationPulseTimeCam::DisplayRefLines(const TH1F *hist, const Float_t refline) const
    639628{
    640 
    641   TGraph *gr    = new TGraph(2);
    642   gr->SetPoint(0,refline,0.);
    643   gr->SetPoint(1,refline,hist->GetMaximum());
    644   gr->SetBit(kCanDelete);
    645   gr->SetLineColor(106);
    646   gr->SetLineStyle(2);
    647   gr->SetLineWidth(3);
    648   gr->Draw("L");
    649 
    650   TLegend *leg = new TLegend(0.8,0.35,0.99,0.65);
    651   leg->SetBit(kCanDelete);
    652   leg->AddEntry(gr,"Reference","l");
    653 
    654   leg->Draw();
     629    TLine *line = new TLine(refline, 0, refline, hist->GetMaximum());
     630    line->SetLineColor(106);
     631    line->SetLineStyle(2);
     632    line->SetLineWidth(3);
     633    line->SetBit(kCanDelete);
     634    line->Draw();
     635
     636    TLegend *leg = new TLegend(0.8,0.35,0.99,0.65);
     637    leg->AddEntry(line, "Reference", "l");
     638    leg->SetBit(kCanDelete);
     639    leg->Draw();
    655640}
    656641
Note: See TracChangeset for help on using the changeset viewer.