Changeset 2762 for trunk/MagicSoft/Mars


Ignore:
Timestamp:
01/09/04 22:47:53 (21 years ago)
Author:
gaug
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/Changelog

    r2761 r2762  
    55                                                 -*-*- END OF LINE -*-*-
    66 2004/01/09: Markus Gaug
     7
     8   * mcalib/MHCalibrationBlindPixel.h
     9     - make the fit by default quiet
    710
    811   * mhist/MHCamera.[h.cc]
  • trunk/MagicSoft/Mars/macros/calibration.C

    r2717 r2762  
    2323\* ======================================================================== */
    2424
    25 void calibration(TString pedname="/data/MAGIC/rootdata/2003_12_01/20031130_03340_P_CrabNebula_E.root",
    26                  TString calname="/data/MAGIC/rootdata/2003_12_01/20031130_03341_C_CrabNebula_E.root")
     25void calibration(TString pedname="/mnt/Data/rootdata/2003_12_01/20031130_03340_P_CrabNebula_E.root",
     26                 TString calname="/mnt/Data/rootdata/2003_12_01/20031130_03341_C_CrabNebula_E.root")
    2727{
    2828
     
    9494    plist2.AddToList((MPedestalCam*)plist.FindObject("MPedestalCam"));
    9595
    96 //    MGeomApply geomapl2;
    9796    tlist2.AddToList(&geomapl);
    9897
     
    167166    MHCamera disp6   (geomcam, "MCalibrationCam;t", "Arrival Times");
    168167    MHCamera disp7   (geomcam, "MCalibrationCam;sigmat", "Sigma of Arrival Times");
    169     MHCamera disp8   (geomcam, "MCalibrationCam;probt", "Chi Square of Time Fit");
     168    MHCamera disp8   (geomcam, "MCalibrationCam;probt", "Probability of Time Fit");
    170169    MHCamera disp9   (geomcam, "MCalibrationCam;ped", "Pedestals");
    171170    MHCamera disp10  (geomcam, "MCalibrationCam;pedrms", "Pedestal RMS");
     
    211210    disp3.SetYTitle("\\sigma_{Q} [FADC counts]");
    212211    //    disp4.SetYTitle("\\Delta {\\sigma_{Q}} [FADC counts]");
    213     disp5.SetYTitle("P [au]");
     212    disp5.SetYTitle("P_{Q} [au]");
    214213    disp6.SetYTitle("T [FADC slices]");
    215     disp7.SetYTitle("\\Delta T [FADC slices]");
    216     disp8.SetYTitle("\\Chi^2 T [au]");
     214    disp7.SetYTitle("\\sigma_{T} [FADC slices]");
     215    disp8.SetYTitle("P_{T} [au]");
    217216    disp9.SetYTitle("P [Total FADC counts ]");
    218217    disp10.SetYTitle("RMS_{P} [Total FADC counts ]");
    219     disp11.SetYTitle("\\sigma^2_{Q} - RMS^2_{P} [FADC counts^2]");
     218    disp11.SetYTitle("\\sigma^{2}_{Q} - RMS^{2}_{P} [FADC counts^2]");
    220219    disp12.SetYTitle("Nr Phe's");
    221220    disp13.SetYTitle("Conversion Factor [Phe/FADC count]");
     
    225224
    226225    MStatusDisplay *d3 = new MStatusDisplay;
    227  
    228     // Set update time to 3s
    229226    d3->SetUpdateTime(3000);
    230 
     227    d3->Resize(1180,900);
     228
     229    gStyle->SetOptStat(1111);
     230    gStyle->SetOptFit();
     231   
     232    // Charges
    231233    TCanvas *c1 = &d3->AddTab("Fitted Charges");
    232     c1->Divide(2, 2);
    233 
    234     TObject *obj;
     234    c1->Divide(2,3);
     235
     236    TObject *obj1;
     237    TObject *obj2;
    235238
    236239    c1->cd(1);
    237     gStyle->SetOptStat(1111);
    238     obj=disp1.DrawCopy("hist");
    239     ((MHCamera*)obj)->AddNotify(*cam);
    240     ((MHCamera*)obj)->SetPrettyPalette();
     240    obj1=disp1.DrawCopy("hist");
     241    ((MHCamera*)obj1)->AddNotify(*cam);
    241242
    242243    c1->cd(3);
    243244    gPad->SetBorderMode(0);
    244     obj->Draw();
     245    obj1->Draw();
     246    ((MHCamera*)obj1)->SetPrettyPalette();
     247
     248    c1->cd(5);
     249    gPad->SetBorderMode(0);
     250    obj2 = obj1->DrawClone("proj");
     251    gPad->Update();
     252    ((MHCamera*)obj2)->GetYProj()->Fit("gaus","Q");
     253    ((MHCamera*)obj2)->GetYProj()->GetFunction("gaus")->SetLineColor(kYellow);
    245254
    246255    c1->cd(2);
    247     gStyle->SetOptStat(1101);
    248     obj=disp3.DrawCopy("hist");
    249     ((MHCamera*)obj)->AddNotify(*cam);
    250     ((MHCamera*)obj)->SetPrettyPalette();
     256    obj1=disp3.DrawCopy("hist");
     257    ((MHCamera*)obj1)->AddNotify(*cam);
    251258
    252259    c1->cd(4);
    253260    gPad->SetBorderMode(0);
    254     obj->Draw();
    255 
    256 
     261    obj1->Draw();
     262    ((MHCamera*)obj1)->SetPrettyPalette();
     263
     264    c1->cd(6);
     265    gPad->SetBorderMode(0);
     266    obj2 = obj1->DrawClone("proj");
     267    gPad->Update();
     268    ((MHCamera*)obj2)->GetYProj()->Fit("gaus","Q");
     269    ((MHCamera*)obj2)->GetYProj()->GetFunction("gaus")->SetLineColor(kYellow);
     270
     271    // Fit Probability
    257272    TCanvas *c12 = &d3->AddTab("Fit Prob.");
    258     c12->Divide(1, 2);
     273    c12->Divide(1, 3);
    259274
    260275    c12->cd(1);
    261     gStyle->SetOptStat(1101);
    262     obj=disp5.DrawCopy("hist");
    263     ((MHCamera*)obj)->AddNotify(*cam);
    264     ((MHCamera*)obj)->SetPrettyPalette();
     276    obj1=disp5.DrawCopy("hist");
     277    ((MHCamera*)obj1)->AddNotify(*cam);
    265278
    266279    c12->cd(2);
    267280    gPad->SetBorderMode(0);
    268     obj->Draw();
    269 
     281    obj1->Draw();
     282    ((MHCamera*)obj1)->SetPrettyPalette();
     283   
     284    c12->cd(3);
     285    gPad->SetBorderMode(0);
     286    obj2 = obj1->DrawClone("proj");
     287    gPad->Update();
     288    ((MHCamera*)obj2)->GetYProj()->Fit("pol0","Q");
     289    ((MHCamera*)obj2)->GetYProj()->GetFunction("pol0")->SetLineColor(kYellow);
     290
     291    // Times
    270292    TCanvas *c2 = &d3->AddTab("Fitted Times");
    271     c2->Divide(3, 2);
     293    c2->Divide(3, 3);
    272294
    273295    c2->cd(1);
    274     gStyle->SetOptStat(1111);
    275     obj=disp6.DrawCopy("hist");
    276     ((MHCamera*)obj)->AddNotify(*cam);
    277     ((MHCamera*)obj)->SetPrettyPalette();
     296    obj1=disp6.DrawCopy("hist");
     297    ((MHCamera*)obj1)->AddNotify(*cam);
    278298
    279299    c2->cd(4);
    280     obj->Draw();
     300    obj1->Draw();
     301    ((MHCamera*)obj1)->SetPrettyPalette();
     302   
     303    c2->cd(7);
     304    gPad->SetBorderMode(0);
     305    obj2 = obj1->DrawClone("proj");
     306    gPad->Update();
     307    ((MHCamera*)obj2)->GetYProj()->Fit("gaus","Q");
     308    ((MHCamera*)obj2)->GetYProj()->GetFunction("gaus")->SetLineColor(kYellow);
    281309
    282310    c2->cd(2);
    283     gStyle->SetOptStat(1101);
    284     obj=disp7.DrawCopy("hist");
    285     ((MHCamera*)obj)->AddNotify(*cam);
    286     ((MHCamera*)obj)->SetPrettyPalette();
     311    obj1=disp7.DrawCopy("hist");
     312    ((MHCamera*)obj1)->AddNotify(*cam);
    287313
    288314    c2->cd(5);
    289     obj->Draw();
     315    obj1->Draw();
     316    ((MHCamera*)obj1)->SetPrettyPalette();
     317
     318    c2->cd(8);
     319    gPad->SetBorderMode(0);
     320    obj2 = obj1->DrawClone("proj");
     321    gPad->Update();
     322    ((MHCamera*)obj2)->GetYProj()->Fit("gaus","Q");
     323    ((MHCamera*)obj2)->GetYProj()->GetFunction("gaus")->SetLineColor(kYellow);
    290324
    291325    c2->cd(3);
    292     gStyle->SetOptStat(1101);
    293     obj=disp8.DrawCopy("hist");
    294     ((MHCamera*)obj)->AddNotify(*cam);
    295     ((MHCamera*)obj)->SetPrettyPalette();
     326    obj1=disp8.DrawCopy("hist");
     327    ((MHCamera*)obj1)->AddNotify(*cam);
    296328
    297329    c2->cd(6);
    298     obj->Draw();
    299 
     330    obj1->Draw();
     331    ((MHCamera*)obj1)->SetPrettyPalette();
     332   
     333    c2->cd(9);
     334    gPad->SetBorderMode(0);
     335    obj2 = obj1->DrawClone("proj");
     336    gPad->Update();
     337    ((MHCamera*)obj2)->GetYProj()->Fit("gaus","Q");
     338    ((MHCamera*)obj2)->GetYProj()->GetFunction("gaus")->SetLineColor(kYellow);
     339
     340    // Pedestals
    300341    TCanvas *c3 = &d3->AddTab("Pedestals");
    301     c3->Divide(2, 2);
     342    c3->Divide(2, 3);
    302343
    303344    c3->cd(1);
    304     gStyle->SetOptStat(1111);
    305     obj=disp9.DrawCopy("hist");
    306     ((MHCamera*)obj)->AddNotify(*cam);
    307     ((MHCamera*)obj)->SetPrettyPalette();
     345    obj1=disp9.DrawCopy("hist");
     346    ((MHCamera*)obj1)->AddNotify(*cam);
    308347
    309348    c3->cd(3);
    310     obj->Draw();
     349    obj1->Draw();
     350    ((MHCamera*)obj1)->SetPrettyPalette();
     351   
     352    c3->cd(5);
     353    gPad->SetBorderMode(0);
     354    obj2 = obj1->DrawClone("proj");
     355    gPad->Update();
     356    ((MHCamera*)obj2)->GetYProj()->Fit("gaus","Q");
     357    ((MHCamera*)obj2)->GetYProj()->GetFunction("gaus")->SetLineColor(kYellow);
    311358
    312359    c3->cd(2);
    313     gStyle->SetOptStat(1111);
    314     obj=disp10.DrawCopy("hist");
    315     ((MHCamera*)obj)->AddNotify(*cam);
    316     ((MHCamera*)obj)->SetPrettyPalette();
     360    obj1=disp10.DrawCopy("hist");
     361    ((MHCamera*)obj1)->AddNotify(*cam);
    317362
    318363    c3->cd(4);
    319     obj->Draw();
    320 
    321     TCanvas *c4 = &d3->AddTab("Reduced Charges");
    322     c4->Divide(2,2);
     364    obj1->Draw();
     365    ((MHCamera*)obj1)->SetPrettyPalette();
     366
     367    c3->cd(6);
     368    gPad->SetBorderMode(0);
     369    obj2 = obj1->DrawClone("proj");
     370    gPad->Update();
     371    ((MHCamera*)obj2)->GetYProj()->Fit("gaus","Q");
     372    ((MHCamera*)obj2)->GetYProj()->GetFunction("gaus")->SetLineColor(kYellow);   
     373
     374    // Reduced Sigmas
     375    TCanvas *c4 = &d3->AddTab("Reduced Sigmas");
     376    c4->Divide(2,3);
    323377
    324378    c4->cd(1);
    325     gStyle->SetOptStat(1111);
    326     obj=disp11.DrawCopy("hist");
    327     ((MHCamera*)obj)->AddNotify(*cam);
    328     ((MHCamera*)obj)->SetPrettyPalette();
     379    obj1=disp11.DrawCopy("hist");
     380    ((MHCamera*)obj1)->AddNotify(*cam);
    329381
    330382    c4->cd(3);
    331     obj->Draw();
     383    obj1->Draw();
     384    ((MHCamera*)obj1)->SetPrettyPalette();
     385   
     386    c4->cd(5);
     387    gPad->SetBorderMode(0);
     388    obj2 = obj1->DrawClone("proj");
     389    gPad->Update();
     390    ((MHCamera*)obj2)->GetYProj()->Fit("gaus","Q");
     391    ((MHCamera*)obj2)->GetYProj()->GetFunction("gaus")->SetLineColor(kYellow);
    332392
    333393    c4->cd(2);
    334     gStyle->SetOptStat(1111);
    335     obj=disp16.DrawCopy("hist");
    336     ((MHCamera*)obj)->AddNotify(*cam);
    337     ((MHCamera*)obj)->SetPrettyPalette();
     394    obj1=disp16.DrawCopy("hist");
     395    ((MHCamera*)obj1)->AddNotify(*cam);
    338396
    339397    c4->cd(4);
    340     obj->Draw();
    341 
     398    obj1->Draw();
     399    ((MHCamera*)obj1)->SetPrettyPalette();
     400   
     401    c4->cd(6);
     402    gPad->SetBorderMode(0);
     403    obj2 = obj1->DrawClone("proj");
     404    gPad->Update();
     405    ((MHCamera*)obj2)->GetYProj()->Fit("gaus","Q");
     406    ((MHCamera*)obj2)->GetYProj()->GetFunction("gaus")->SetLineColor(kYellow);
     407
     408    // F-Factor Method
    342409    TCanvas *c5 = &d3->AddTab("F-Factor Method");
    343     c5->Divide(2, 2);
     410    c5->Divide(2, 3);
    344411
    345412    c5->cd(1);
    346     gStyle->SetOptStat(1111);
    347     obj=disp12.DrawCopy("hist");
    348     ((MHCamera*)obj)->AddNotify(*cam);
    349     ((MHCamera*)obj)->SetPrettyPalette();
     413    obj1=disp12.DrawCopy("hist");
     414    ((MHCamera*)obj1)->AddNotify(*cam);
    350415
    351416    c5->cd(3);
    352     obj->Draw();
     417    obj1->Draw();
     418    ((MHCamera*)obj1)->SetPrettyPalette();
     419   
     420    c5->cd(5);
     421    gPad->SetBorderMode(0);
     422    obj2 = obj1->DrawClone("proj");
     423    gPad->Update();
     424    ((MHCamera*)obj2)->GetYProj()->Fit("gaus","Q");
     425    ((MHCamera*)obj2)->GetYProj()->GetFunction("gaus")->SetLineColor(kYellow);
    353426
    354427    c5->cd(2);
    355     gStyle->SetOptStat(1101);
    356     obj=disp13.DrawCopy("hist");
    357     ((MHCamera*)obj)->AddNotify(*cam);
    358     ((MHCamera*)obj)->SetPrettyPalette();
     428    obj1=disp13.DrawCopy("hist");
     429    ((MHCamera*)obj1)->AddNotify(*cam);
    359430
    360431    c5->cd(4);
    361     obj->Draw();
    362 
     432    obj1->Draw();
     433    ((MHCamera*)obj1)->SetPrettyPalette();
     434   
     435    c5->cd(6);
     436    gPad->SetBorderMode(0);
     437    obj2 = obj1->DrawClone("proj");
     438    gPad->Update();
     439    ((MHCamera*)obj2)->GetYProj()->Fit("gaus","Q");
     440    ((MHCamera*)obj2)->GetYProj()->GetFunction("gaus")->SetLineColor(kYellow);
     441
     442    // Blind Pixel Method
    363443    TCanvas *c6 = &d3->AddTab("Blind Pixel Method");
    364     c6->Divide(2, 2);
     444    c6->Divide(2, 3);
    365445
    366446    c6->cd(1);
    367     gStyle->SetOptStat(1111);
    368     obj=disp14.DrawCopy("hist");
    369     ((MHCamera*)obj)->AddNotify(*cam);
    370     ((MHCamera*)obj)->SetPrettyPalette();
     447    obj1=disp14.DrawCopy("hist");
     448    ((MHCamera*)obj1)->AddNotify(*cam);
    371449
    372450    c6->cd(3);
    373     obj->Draw();
     451    obj1->Draw();
     452    ((MHCamera*)obj1)->SetPrettyPalette();
     453   
    374454
    375455    c6->cd(2);
    376     gStyle->SetOptStat(1101);
    377     obj=disp15.DrawCopy("hist");
    378     ((MHCamera*)obj)->AddNotify(*cam);
    379     ((MHCamera*)obj)->SetPrettyPalette();
     456    obj1=disp15.DrawCopy("hist");
     457    ((MHCamera*)obj1)->AddNotify(*cam);
    380458
    381459    c6->cd(4);
    382     obj->Draw();
    383 
     460    obj1->Draw();
     461    ((MHCamera*)obj1)->SetPrettyPalette();
     462   
     463    c6->cd(6);
     464    gPad->SetBorderMode(0);
     465    obj2 = obj1->DrawClone("proj");
     466    gPad->Update();
     467    ((MHCamera*)obj2)->GetYProj()->Fit("gaus","Q");
     468    ((MHCamera*)obj2)->GetYProj()->GetFunction("gaus")->SetLineColor(kYellow);
    384469}
    385470
  • trunk/MagicSoft/Mars/mhist/MHCamera.cc

    r2698 r2762  
    103103//  Default Constructor. To be used by the root system ONLY.
    104104//
    105 MHCamera::MHCamera() : TH1D(), fGeomCam(NULL), fColors(kItemsLegend)
     105MHCamera::MHCamera() : TH1D(), fGeomCam(NULL), fColors(kItemsLegend), fYProj(NULL)
    106106{
    107107    Init();
     
    116116MHCamera::MHCamera(const MGeomCam &geom, const char *name, const char *title)
    117117: fGeomCam(NULL), /*TH1D(name, title, geom.GetNumPixels(), -0.5, geom.GetNumPixels()-0.5),
    118 fUsed(geom.GetNumPixels()),*/ fColors(kItemsLegend)
     118                    fUsed(geom.GetNumPixels()),*/ fColors(kItemsLegend), fYProj(NULL)
    119119{
    120120    //fGeomCam = (MGeomCam*)geom.Clone();
     
    160160{
    161161    if (fGeomCam)
    162         delete fGeomCam;
     162      delete fGeomCam;
    163163    if (fNotify)
    164         delete fNotify;
     164      delete fNotify;
     165    if (fYProj)
     166      delete fYProj;
     167
    165168}
    166169
     
    399402    gPad->SetBorderMode(0);
    400403
     404    TString opt(option);
     405    opt.ToLower();
     406
    401407    AppendPad(option);
    402408
     
    414420// If this makes trouble please write a bug report.
    415421//
    416 TObject *MHCamera::DrawClone(Option_t *option) const
     422TObject *MHCamera::DrawClone(Option_t *option) const 
    417423{
    418424   // Draw a clone of this object in the current pad
     
    423429
    424430   TObject *newobj = Clone();
     431
    425432   if (!newobj)
    426433       return 0;
     
    437444   */
    438445
    439    const TString opt(option);
     446   TString opt(option);
     447   opt.ToLower();
     448
    440449   newobj->Draw(opt.IsNull() ? GetDrawOption() : option);
    441450
     
    445454   return newobj;
    446455}
     456
     457void MHCamera::CreateProjection()
     458{
     459 
     460  Int_t nbins = 50;
     461
     462  // Create the projection histogram
     463  TString ytitle(GetYaxis()->GetTitle());
     464  fYProj = new TH1D(ytitle.Data(),GetTitle(),nbins,GetMinimum()-0.1,GetMaximum()+0.1);
     465  fYProj->SetXTitle(ytitle.Data());
     466  fYProj->SetYTitle("Nr. of pixels");
     467  fYProj->Sumw2();
     468  fYProj->SetDirectory(NULL);
     469
     470  // Fill the projected histogram
     471  Double_t cont;
     472  for (Int_t binx =0;binx<=GetNbinsX()+1;binx++) {
     473    cont  = GetBinContent(binx);
     474    if (cont)
     475      fYProj->Fill(cont);
     476  }
     477}
     478
    447479
    448480// ------------------------------------------------------------------------
     
    592624    }
    593625
     626    if (opt.Contains("proj"))
     627    {
     628
     629      CreateProjection();
     630      opt.ReplaceAll("proj", "");
     631      fYProj->Paint(opt);
     632      return;
     633    }
     634   
    594635    gPad->Clear();
    595636
Note: See TracChangeset for help on using the changeset viewer.