Changeset 8355


Ignore:
Timestamp:
03/03/07 22:01:13 (18 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mcalib/MCalibrationRelTimeCalc.cc

    r8192 r8355  
    8383using namespace std;
    8484
    85 const Float_t MCalibrationRelTimeCalc::fgRelTimeResolutionLimit = 1.0;
     85const Float_t MCalibrationRelTimeCalc::fgRelTimeResolutionLimit = 0.05;
    8686
    8787// --------------------------------------------------------------------------
     
    372372      */
    373373      areasum [aidx] /= numareavalid[aidx];
    374       lowlim  [aidx]  = 0.;
     374      lowlim  [aidx]  = 0;
    375375      upplim  [aidx]  = areasum [aidx] + fRelTimeResolutionLimit;
    376376     
  • trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeCam.cc

    r8342 r8355  
    11/* ======================================================================== *\
    2 ! $Name: not supported by cvs2svn $:$Id: MHCalibrationChargeCam.cc,v 1.53 2007-03-01 18:21:08 tbretz Exp $
     2! $Name: not supported by cvs2svn $:$Id: MHCalibrationChargeCam.cc,v 1.54 2007-03-03 22:00:25 tbretz Exp $
    33! --------------------------------------------------------------------------
    44!
     
    2121!   Author(s): Thomas Bretz <mailto:tbretz@astro.uni-wuerzburg.de>
    2222!
    23 !   Copyright: MAGIC Software Development, 2000-2006
     23!   Copyright: MAGIC Software Development, 2000-2007
    2424!
    2525!
     
    122122/////////////////////////////////////////////////////////////////////////////
    123123#include "MHCalibrationChargeCam.h"
    124 #include "MHCalibrationCam.h"
    125 
    126 #include "MLog.h"
    127 #include "MLogManip.h"
    128 
    129 #include "MParList.h"
    130 
    131 #include "MHCalibrationChargePix.h"
    132 #include "MHCalibrationPix.h"
    133 
    134 #include "MCalibrationIntensityCam.h"
    135 #include "MCalibrationChargeCam.h"
    136 #include "MCalibrationChargePix.h"
    137 
    138 #include "MGeomCam.h"
    139 #include "MGeomPix.h"
    140 
    141 #include "MBadPixelsIntensityCam.h"
    142 #include "MBadPixelsCam.h"
    143 #include "MBadPixelsPix.h"
    144 
    145 #include "MRawEvtData.h"
    146 #include "MRawRunHeader.h"
    147 #include "MRawEvtPixelIter.h"
    148 
    149 #include "MExtractedSignalCam.h"
    150 #include "MExtractedSignalPix.h"
    151 
    152 #include "MArrayI.h"
    153 #include "MArrayD.h"
    154124
    155125#include <TOrdCollection.h>
     
    159129#include <TStyle.h>
    160130#include <TF1.h>
     131#include <TLine.h>
    161132#include <TLatex.h>
    162133#include <TLegend.h>
    163134#include <TGraph.h>
    164135#include <TEnv.h>
     136
     137#include "MLog.h"
     138#include "MLogManip.h"
     139
     140#include "MParList.h"
     141
     142#include "MHCalibrationChargePix.h"
     143#include "MHCalibrationPix.h"
     144
     145#include "MCalibrationIntensityCam.h"
     146#include "MCalibrationChargeCam.h"
     147#include "MCalibrationChargePix.h"
     148
     149#include "MGeomCam.h"
     150#include "MGeomPix.h"
     151
     152#include "MBadPixelsIntensityCam.h"
     153#include "MBadPixelsCam.h"
     154#include "MBadPixelsPix.h"
     155
     156#include "MRawEvtData.h"
     157#include "MRawRunHeader.h"
     158#include "MRawEvtPixelIter.h"
     159
     160#include "MExtractedSignalCam.h"
     161#include "MExtractedSignalPix.h"
     162
     163#include "MArrayI.h"
     164#include "MArrayD.h"
    165165
    166166ClassImp(MHCalibrationChargeCam);
     
    287287  cam->fLoGainLast             = fLoGainLast;
    288288  cam->fReferenceFile          = fReferenceFile;
     289  cam->fInnerRefCharge         = fInnerRefCharge;
     290  cam->fOuterRefCharge         = fOuterRefCharge;
    289291
    290292  //
     
    388390    if ( fColor == MCalibrationCam::kBLUE)
    389391      SetBinning(fLoGainNbins, fLoGainFirst, 2.*fLoGainLast - fLoGainFirst);
    390  
     392
    391393  InitHiGainArrays(npixels,nareas,nsectors);
    392394  InitLoGainArrays(npixels,nareas,nsectors);
     
    469471        fAverageHiGainAreas->AddAt(new MHCalibrationChargePix(Form("%sHiGainArea%d",fHistName.Data(),j),
    470472                                                  Form("%s High Gain Area Idx %d",fHistTitle.Data(),j)),j);
    471        
     473
    472474        MHCalibrationChargePix &pix = (MHCalibrationChargePix&)GetAverageHiGainArea(j);
    473        
     475
    474476        pix.SetBinning(fNbins*(Int_t)TMath::Sqrt((Float_t)npixels/nareas),
    475477                       fFirst, fLast);
    476        
     478
    477479        pix.SetBinningAbsTime(higainsamples, -0.5, higainsamples-0.5);
    478480
     
    480482
    481483        h =  pix.GetHAbsTime();
    482        
     484
    483485        h->SetName (Form("H%sHiGainArea%d",fAbsHistName.Data(),j));
    484486        h->SetTitle(Form("%s%s%d",fAbsHistTitle.Data(),
     
    502504
    503505          pix.SetBinningAbsTime(higainsamples, -0.5, higainsamples-0.5);
    504          
     506
    505507          InitHists(pix,fIntensCam ? fIntensCam->GetAverageBadSector(j) : fCam->GetAverageBadSector(j),j);
    506508
    507509          h =  pix.GetHAbsTime();
    508          
     510
    509511          h->SetName (Form("H%sHiGainSector%02d",fAbsHistName.Data(),j));
    510512          h->SetTitle(Form("%s%s%02d",fAbsHistTitle.Data(),
     
    559561
    560562          pix.SetBinning(fLoGainNbins, fLoGainFirst, fLoGainLast);
    561          
    562563          pix.SetProbLimit(fProbLimit);
    563564
     
    583584          fAverageLoGainAreas->AddAt(new MHCalibrationChargePix(Form("%sLoGainArea%d",fHistName.Data(),j),
    584585                                       Form("%s Low Gain Area Idx %d",fHistTitle.Data(),j)),j);
    585        
     586
    586587          MHCalibrationChargePix &pix = (MHCalibrationChargePix&)GetAverageLoGainArea(j);
    587          
     588
    588589          pix.SetBinning(fLoGainNbins*(Int_t)TMath::Sqrt((Float_t)npixels/nareas),
    589590                         fLoGainFirst, fLoGainLast);
    590          
     591
    591592          pix.SetBinningAbsTime(logainsamples, -0.5, logainsamples-0.5);
    592593         
     
    669670  const UInt_t nareas   = fGeom->GetNumAreas();
    670671  const UInt_t nsectors = fGeom->GetNumSectors();
    671   const UInt_t lofirst  = signal->GetFirstUsedSliceLoGain();
     672
     673  const Int_t hifirst = fSignal->GetFirstUsedSliceHiGain();
     674  const Int_t hilast  = fSignal->GetLastUsedSliceHiGain();
     675  const Int_t lofirst = fSignal->GetFirstUsedSliceLoGain();
     676  const Int_t lolast  = fSignal->GetLastUsedSliceLoGain();
    672677
    673678  fSumhiarea  .Reset();
     
    759764         continue;
    760765     
    761       const Float_t timehi = (Float_t)pixel.GetIdxMaxHiGainSample();
     766      const Float_t timehi = (Float_t)pixel.GetIdxMaxHiGainSample(hifirst, hilast);
    762767
    763768      histhi.FillAbsTime(timehi);
     
    773778          MHCalibrationChargePix &histlo = (MHCalibrationChargePix&)(*this)(pixid);
    774779
    775           const Float_t timelo = (Float_t)pixel.GetIdxMaxLoGainSample(lofirst);
     780          const Float_t timelo = (Float_t)pixel.GetIdxMaxLoGainSample(lofirst, lolast);
    776781          histlo.FillAbsTime(timelo);
    777782
     
    12621267    if (pix.IsEmpty())
    12631268        return;
    1264  
    1265   TVirtualPad *newpad = gPad;
    1266   newpad->Divide(1,2);
    1267   newpad->cd(1);
    1268  
    1269   gPad->SetTicks();
    1270   if (!pix.IsEmpty() && !pix.IsOnlyOverflow() && !pix.IsOnlyUnderflow())
    1271     gPad->SetLogy();
    1272 
    1273   TH1F *hist = pix.GetHGausHist();
    1274 
    1275   TH1F *null = new TH1F("Null",hist->GetTitle(),100,
    1276                         pix.GetFirst() > 0. ? pix.GetFirst() : 0.,
    1277                         pix.GetLast() > pix.GetFirst()
    1278                         ? ( pix.GetLast() > 450.
    1279                             ? ( fColor == MCalibrationCam::kBLUE ? 800. : 450. )
    1280                             : pix.GetLast() )
    1281                         : pix.GetFirst()*2.);
    1282 
    1283   null->SetMaximum(1.1*hist->GetMaximum());
    1284   null->SetDirectory(NULL);
    1285   null->SetBit(kCanDelete);
    1286   null->SetStats(kFALSE);
    1287   //
    1288   // set the labels bigger
    1289   //
    1290   TAxis *xaxe = null->GetXaxis();
    1291   TAxis *yaxe = null->GetYaxis();
    1292   xaxe->CenterTitle();
    1293   yaxe->CenterTitle();   
    1294   xaxe->SetTitleSize(0.07);
    1295   yaxe->SetTitleSize(0.07);   
    1296   xaxe->SetTitleOffset(0.7);
    1297   yaxe->SetTitleOffset(0.55);   
    1298   xaxe->SetLabelSize(0.06);
    1299   yaxe->SetLabelSize(0.06);   
    1300   xaxe->SetTitle(hist->GetXaxis()->GetTitle());
    1301   yaxe->SetTitle(hist->GetYaxis()->GetTitle()); 
    1302 
    1303   null->Draw();
    1304   hist->Draw("same");
    1305 
    1306   gStyle->SetOptFit();
    1307 
    1308   TF1 *fit = pix.GetFGausFit();
    1309 
    1310   if (fit)
    1311   {
    1312     switch ( fColor )
    1313       {
    1314       case MCalibrationCam::kGREEN:
    1315         fit->SetLineColor(kGreen);
    1316         break;
    1317       case MCalibrationCam::kBLUE:
    1318         fit->SetLineColor(kBlue);
    1319         break;
    1320       case MCalibrationCam::kUV: 
    1321         fit->SetLineColor(106);
    1322         break;
    1323       case MCalibrationCam::kCT1:
    1324         fit->SetLineColor(006);
    1325         break;
    1326       default:
    1327         fit->SetLineColor(kRed);
    1328       }
    1329     fit->Draw("same");
    1330   }
    1331 
    1332   DisplayRefLines(null,refline);
    1333 
    1334   newpad->cd(2);
    1335   gPad->SetTicks();
    1336 
    1337   TH1F *null2 = new TH1F("Null2",hist->GetTitle(),100,0.,pix.GetEvents()->GetSize()/pix.GetEventFrequency());
    1338 
    1339   null2->SetMinimum(pix.GetMean()-10.*pix.GetSigma());
    1340   null2->SetMaximum(pix.GetMean()+10.*pix.GetSigma());
    1341   null2->SetDirectory(NULL);
    1342   null2->SetBit(kCanDelete);
    1343   null2->SetStats(kFALSE);
    1344   //
    1345   // set the labels bigger
    1346   //
    1347   TAxis *xaxe2 = null2->GetXaxis();
    1348   TAxis *yaxe2 = null2->GetYaxis();
    1349   xaxe2->CenterTitle();
    1350   yaxe2->CenterTitle();   
    1351   xaxe2->SetTitleSize(0.07);
    1352   yaxe2->SetTitleSize(0.07);   
    1353   xaxe2->SetTitleOffset(0.7);
    1354   yaxe2->SetTitleOffset(0.55);   
    1355   xaxe2->SetLabelSize(0.06);
    1356   yaxe2->SetLabelSize(0.06);   
    1357 
    1358   pix.CreateGraphEvents();
    1359   TGraph *gr = pix.GetGraphEvents();
    1360   if (gr)
    1361   {
    1362       xaxe2->SetTitle(gr->GetXaxis()->GetTitle());
    1363       yaxe2->SetTitle(gr->GetYaxis()->GetTitle());
    1364   }
    1365 
    1366   null2->Draw();
    1367 
    1368   pix.DrawEvents("same");
    1369 
    1370   //  newpad->cd(3);
    1371   //  pix.DrawPowerSpectrum(*newpad,4);
    1372 
    1373   return;
    1374  
     1269
     1270    TVirtualPad *pad = gPad;
     1271    pad->Divide(1,2, 1e-10, 1e-10);
     1272    pad->cd(1);
     1273
     1274    gPad->SetBorderMode(0);
     1275    gPad->SetTicks();
     1276    if (!pix.IsEmpty() && !pix.IsOnlyOverflow() && !pix.IsOnlyUnderflow())
     1277        gPad->SetLogy();
     1278
     1279    TH1F  *hist = pix.GetHGausHist();
     1280    TAxis *xaxe = hist->GetXaxis();
     1281    TAxis *yaxe = hist->GetYaxis();
     1282    xaxe->CenterTitle();
     1283    yaxe->CenterTitle();
     1284    xaxe->SetTitleSize(0.07);
     1285    yaxe->SetTitleSize(0.07);
     1286    xaxe->SetTitleOffset(0.7);
     1287    yaxe->SetTitleOffset(0.55);
     1288    xaxe->SetLabelSize(0.06);
     1289    yaxe->SetLabelSize(0.06);
     1290    xaxe->SetTitle(hist->GetXaxis()->GetTitle());
     1291    yaxe->SetTitle(hist->GetYaxis()->GetTitle());
     1292    xaxe->SetRange(hist->GetMaximumBin()-30, hist->GetMaximumBin()+30);
     1293
     1294    gStyle->SetOptFit();
     1295
     1296    hist->Draw();
     1297
     1298    TF1 *fit = pix.GetFGausFit();
     1299    if (fit)
     1300    {
     1301        switch (fColor)
     1302        {
     1303        case MCalibrationCam::kGREEN:
     1304            fit->SetLineColor(kGreen);
     1305            break;
     1306        case MCalibrationCam::kBLUE:
     1307            fit->SetLineColor(kBlue);
     1308            break;
     1309        case MCalibrationCam::kUV:
     1310            fit->SetLineColor(106);
     1311            break;
     1312        case MCalibrationCam::kCT1:
     1313            fit->SetLineColor(006);
     1314            break;
     1315        default:
     1316            fit->SetLineColor(kRed);
     1317        }
     1318        fit->Draw("same");
     1319    }
     1320
     1321    DisplayRefLines(hist,refline);
     1322
     1323    pad->cd(2);
     1324    gPad->SetBorderMode(0);
     1325    gPad->SetTicks();
     1326
     1327    pix.CreateGraphEvents();
     1328    TGraph *gr = pix.GetGraphEvents();
     1329    if (gr)
     1330    {
     1331        TH1F *null2 = gr->GetHistogram();
     1332
     1333        null2->SetMinimum(pix.GetMean()-10.*pix.GetSigma());
     1334        null2->SetMaximum(pix.GetMean()+10.*pix.GetSigma());
     1335        null2->SetStats(kFALSE);
     1336
     1337        //
     1338        // set the labels bigger
     1339        //
     1340        TAxis *xaxe2 = null2->GetXaxis();
     1341        TAxis *yaxe2 = null2->GetYaxis();
     1342        xaxe2->CenterTitle();
     1343        yaxe2->CenterTitle();
     1344        xaxe2->SetTitleSize(0.07);
     1345        yaxe2->SetTitleSize(0.07);
     1346        xaxe2->SetTitleOffset(0.7);
     1347        yaxe2->SetTitleOffset(0.55);
     1348        xaxe2->SetLabelSize(0.06);
     1349        yaxe2->SetLabelSize(0.06);
     1350        xaxe2->SetRangeUser(0, pix.GetEvents()->GetSize()/pix.GetEventFrequency());
     1351    }
     1352
     1353    pix.DrawEvents();
     1354
     1355    //  newpad->cd(3);
     1356    //  pix.DrawPowerSpectrum(*newpad,4);
    13751357}
    1376 
    13771358
    13781359void  MHCalibrationChargeCam::DisplayRefLines(const TH1F *hist, const Float_t refline) const
    13791360{
    1380 
    1381   TGraph *uv10    = new TGraph(2);
    1382   uv10->SetPoint(0,refline,0.);
    1383   uv10->SetPoint(1,refline,hist->GetMaximum());
    1384   uv10->SetBit(kCanDelete);
    1385   uv10->SetLineColor(106);
    1386   uv10->SetLineStyle(2);
    1387   uv10->SetLineWidth(3);
    1388   uv10->Draw("L");
    1389 
    1390   TLegend *leg = new TLegend(0.8,0.55,0.99,0.99);
    1391   leg->SetBit(kCanDelete);
    1392   leg->AddEntry(uv10,"10 Leds UV","l");
    1393 
    1394   leg->Draw();
     1361    TLine *line = new TLine(refline, 0, refline, hist->GetMaximum());
     1362    line->SetLineColor(106);
     1363    line->SetLineStyle(2);
     1364    line->SetLineWidth(3);
     1365    line->SetBit(kCanDelete);
     1366    line->Draw();
     1367
     1368    TLegend *leg = new TLegend(0.8,0.01,0.99,0.45);
     1369    leg->AddEntry(line, "10 Leds UV", "l");
     1370    leg->SetBit(kCanDelete);
     1371    leg->Draw();
    13951372}
    13961373
     
    13981375{
    13991376
    1400   Bool_t rc = kFALSE;
    1401 
    1402   if (MHCalibrationCam::ReadEnv(env,prefix,print))
    1403     rc = kTRUE;
    1404    
     1377  Int_t rc = MHCalibrationCam::ReadEnv(env,prefix,print);
     1378  if (rc==kERROR)
     1379    return kERROR;
     1380
    14051381  if (IsEnvDefined(env, prefix, "HiGainNbins", print))
    14061382    {
     
    14081384      rc = kTRUE;
    14091385    }
    1410  
     1386
    14111387  if (IsEnvDefined(env, prefix, "HiGainFirst", print))
    14121388    {
     
    14141390      rc = kTRUE;
    14151391    }
    1416  
     1392
    14171393  if (IsEnvDefined(env, prefix, "HiGainLast", print))
    14181394    {
     
    14201396      rc = kTRUE;
    14211397    }
    1422  
     1398
    14231399  if (IsEnvDefined(env, prefix, "LoGainNbins", print))
    14241400    {
     
    14261402      rc = kTRUE;
    14271403    }
    1428  
     1404
    14291405  if (IsEnvDefined(env, prefix, "LoGainFirst", print))
    14301406    {
     
    14321408      rc = kTRUE;
    14331409    }
    1434  
     1410
    14351411  if (IsEnvDefined(env, prefix, "LoGainLast", print))
    14361412    {
     
    14381414      rc = kTRUE;
    14391415    }
    1440  
     1416
    14411417  if (IsEnvDefined(env, prefix, "TimeLowerLimit", print))
    14421418    {
     
    14441420      rc = kTRUE;
    14451421    }
    1446  
     1422
    14471423  if (IsEnvDefined(env, prefix, "TimeUpperLimit", print))
    14481424    {
     
    14501426      rc = kTRUE;
    14511427    }
    1452    
     1428
    14531429  if (IsEnvDefined(env, prefix, "ReferenceFile", print))
    14541430    {
     
    14751451  }
    14761452
    1477 
    14781453  TEnv refenv(fReferenceFile);
    14791454
  • 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.