Index: /trunk/MagicSoft/Mars/macros/calibration.C
===================================================================
--- /trunk/MagicSoft/Mars/macros/calibration.C	(revision 2568)
+++ /trunk/MagicSoft/Mars/macros/calibration.C	(revision 2569)
@@ -24,5 +24,5 @@
 
 void calibration(TString pedname="./20031102_02399_P_Unavailable_E.root", 
-             TString calname="./20031102_02400_D_Flip500Hz_E.root")
+                 TString calname="./20031102_02400_D_Flip500Hz_E.root")
 {
 
@@ -148,121 +148,96 @@
     MCalibrationCam *cam = plist2.FindObject("MCalibrationCam");
     MCalibrationPix *pix = cam->GetCalibrationPix(523);
-    pix->Draw();
-
-    TCanvas *c1 = MH::MakeDefCanvas("Calibration1","Plots of FADC Charges",700,900);
-    c1->Divide(5, 2);
+    //pix->Draw();
+
+    gROOT->GetListOfCanvases()->Delete();
 
     MHCamEvent &h    = *(MHCamEvent*)plist2->FindObject("MHCamEvent");
-    MHCamera *disp0  = h.GetHistByName();
-    MHCamera *disp1  = new MHCamera(geomcam, "MCalibrationCam;q", "Fitted Mean Charges");
-    MHCamera *disp2  = new MHCamera(geomcam, "MCalibrationCam;errq", "Error of Fitted Mean Charges");
-    MHCamera *disp3  = new MHCamera(geomcam, "MCalibrationCam;sigmaq", "Sigma of Fitted Mean Charges");
-    MHCamera *disp4  = new MHCamera(geomcam, "MCalibrationCam;errsigmaq", "Error of Sigma of Fitted Mean Charges");
-    MHCamera *disp5  = new MHCamera(geomcam, "MCalibrationCam;probq", "Probability of Fit");
-    MHCamera *disp6  = new MHCamera(geomcam, "MCalibrationCam;t", "Arrival Times");
-    MHCamera *disp7  = new MHCamera(geomcam, "MCalibrationCam;sigmat", "Sigma of Arrival Times");
-    MHCamera *disp8  = new MHCamera(geomcam, "MCalibrationCam;probt", "Probability of Time Fit");
-    MHCamera *disp9  = new MHCamera(geomcam, "MCalibrationCam;ped", "Pedestals");
-    MHCamera *disp10 = new MHCamera(geomcam, "MCalibrationCam;pedrms", "Pedestal RMS");
-    MHCamera *disp11 = new MHCamera(geomcam, "MCalibrationCam;rq", "Reduced Charges");
-    MHCamera *disp12 = new MHCamera(geomcam, "MCalibrationCam;errrq", "Error of Reduced Charges");
-
-    disp1->SetBit(kCanDelete);
-    disp2->SetBit(kCanDelete);
-    disp3->SetBit(kCanDelete);
-    disp4->SetBit(kCanDelete);
-    disp5->SetBit(kCanDelete);
-    disp6->SetBit(kCanDelete);
-    disp7->SetBit(kCanDelete);
-    disp8->SetBit(kCanDelete);
-    disp9->SetBit(kCanDelete);
-    disp10->SetBit(kCanDelete);
-    disp11->SetBit(kCanDelete);
-    disp12->SetBit(kCanDelete);
-
-    disp1->SetCamContent(*cam, 0);
-    disp2->SetCamContent(*cam, 1);
-    disp3->SetCamContent(*cam, 2);
-    disp4->SetCamContent(*cam, 3);
-    disp5->SetCamContent(*cam, 4);
-    disp6->SetCamContent(*cam, 5);
-    disp7->SetCamContent(*cam, 6);
-    disp8->SetCamContent(*cam, 7);
-    disp9->SetCamContent(*cam, 8);
-    disp10->SetCamContent(*cam, 9);
-    disp11->SetCamContent(*cam, 10);
-    disp12->SetCamContent(*cam, 11);
-
-    disp1->SetYTitle("Q [FADC counts]");
-    disp2->SetYTitle("\\Delta_{Q} [FADC counts]");
-    disp3->SetYTitle("\\sigma_{Q} [FADC counts]");
-    disp4->SetYTitle("\\Delta_{\\sigma_{Q}} [FADC counts]");
-    disp5->SetYTitle("P [au]");
-    disp6->SetYTitle("T [FADC slices]");
-    disp7->SetYTitle("\\Delta_{T} [FADC slices]");
-    disp8->SetYTitle("P [au]");
-    disp9->SetYTitle("P [FADC counts/ slice ]");
-    disp10->SetYTitle("RMS_{P} [FADC counts / slice ]");
-    disp11->SetYTitle("Q [FADC counts]");
-    disp12->SetYTitle("\\Delta_{Q} [FADC counts]");
+    MHCamera &disp0  = *h.GetHistByName();
+    MHCamera disp1   (geomcam, "MCalibrationCam;q", "Fitted Mean Charges");
+    MHCamera disp2   (geomcam, "MCalibrationCam;errq", "Error of Fitted Mean Charges");
+    MHCamera disp3   (geomcam, "MCalibrationCam;sigmaq", "Sigma of Fitted Mean Charges");
+    MHCamera disp4   (geomcam, "MCalibrationCam;errsigmaq", "Error of Sigma of Fitted Mean Charges");
+    MHCamera disp5   (geomcam, "MCalibrationCam;probq", "Probability of Fit");
+    MHCamera disp6   (geomcam, "MCalibrationCam;t", "Arrival Times");
+    MHCamera disp7   (geomcam, "MCalibrationCam;sigmat", "Sigma of Arrival Times");
+    MHCamera disp8   (geomcam, "MCalibrationCam;probt", "Probability of Time Fit");
+    MHCamera disp9   (geomcam, "MCalibrationCam;ped", "Pedestals");
+    MHCamera disp10  (geomcam, "MCalibrationCam;pedrms", "Pedestal RMS");
+    MHCamera disp11  (geomcam, "MCalibrationCam;rq", "Reduced Charges");
+    MHCamera disp12  (geomcam, "MCalibrationCam;errrq", "Error of Reduced Charges");
+
+    disp1.SetCamContent(*cam, 0);
+    disp2.SetCamContent(*cam, 1);
+    disp3.SetCamContent(*cam, 2);
+    disp4.SetCamContent(*cam, 3);
+    disp5.SetCamContent(*cam, 4);
+    disp6.SetCamContent(*cam, 5);
+    disp7.SetCamContent(*cam, 6);
+    disp8.SetCamContent(*cam, 7);
+    disp9.SetCamContent(*cam, 8);
+    disp10.SetCamContent(*cam, 9);
+    disp11.SetCamContent(*cam, 10);
+    disp12.SetCamContent(*cam, 11);
+
+    disp1.SetYTitle("Q [FADC counts]");
+    disp2.SetYTitle("\\Delta_{Q} [FADC counts]");
+    disp3.SetYTitle("\\sigma_{Q} [FADC counts]");
+    disp4.SetYTitle("\\Delta_{\\sigma_{Q}} [FADC counts]");
+    disp5.SetYTitle("P [au]");
+    disp6.SetYTitle("T [FADC slices]");
+    disp7.SetYTitle("\\Delta_{T} [FADC slices]");
+    disp8.SetYTitle("P [au]");
+    disp9.SetYTitle("P [FADC counts/ slice ]");
+    disp10.SetYTitle("RMS_{P} [FADC counts / slice ]");
+    disp11.SetYTitle("Q [FADC counts]");
+    disp12.SetYTitle("\\Delta_{Q} [FADC counts]");
 
 //    TText text(0.1, 0.5, &fname[fname.Last('/')+1]);
 //    text.SetTextSize(0.015);
 //    text.DrawClone();
+    TCanvas *c1 = MH::MakeDefCanvas("Calibration1","Plots of FADC Charges",700,900);
+    c1->Divide(5, 2);
+
+    TObject *obj;
 
     c1->cd(1);
     gStyle->SetOptStat(1111);
-    disp1->Draw("hist");
-    gPad->Update();
+    obj=disp1.DrawCopy("hist");
+
+    c1->cd(6);
+    gPad->SetBorderMode(0);
+    obj->Draw();
 
     c1->cd(2);
     gStyle->SetOptStat(1101);
-    disp2->Draw("hist");
-    gPad->Update();
+    obj=disp2.DrawCopy("hist");
+
+    c1->cd(7);
+    gPad->SetBorderMode(0);
+    obj->Draw();
 
     c1->cd(3);
     gStyle->SetOptStat(1101);
-    disp3->Draw("hist");
-    gPad->Update();
+    obj=disp3.DrawCopy("hist");
+
+    c1->cd(8);
+    gPad->SetBorderMode(0);
+    obj->Draw();
 
     c1->cd(4);
     gStyle->SetOptStat(1101);
-    disp4->Draw("hist");
-    gPad->Update();
+    obj=disp4.DrawCopy("hist");
+
+    c1->cd(9);
+    gPad->SetBorderMode(0);
+    obj->Draw();
 
     c1->cd(5);
     gStyle->SetOptStat(1101);
-    disp5->Draw("hist");
-    gPad->Update();
-
-    c1->cd(6);
-    gPad->SetBorderMode(0);
-    gPad->Divide(1,1);
-    gPad->cd(1);
-    disp1->Draw();
-
-    c1->cd(7);
-    gPad->SetBorderMode(0);
-    gPad->Divide(1,1);
-    gPad->cd(1);
-    disp2->Draw();
-
-    c1->cd(8);
-    gPad->SetBorderMode(0);
-    gPad->Divide(1,1);
-    gPad->cd(1);
-    disp3->Draw();
-
-    c1->cd(9);
-    gPad->SetBorderMode(0);
-    gPad->Divide(1,1);
-    gPad->cd(1);
-    disp4->Draw();
+    obj=disp5.DrawCopy("hist");
 
     c1->cd(10);
     gPad->SetBorderMode(0);
-    gPad->Divide(1,1);
-    gPad->cd(1);
-    disp5->Draw();
+    obj->Draw();
 
     TCanvas *c2 = MH::MakeDefCanvas("Calibration2","Plots of Arrival Times",700,900);
@@ -271,35 +246,22 @@
     c2->cd(1);
     gStyle->SetOptStat(1111);
-    disp6->Draw("hist");
-    gPad->Update();
+    obj=disp6.DrawCopy("hist");
+
+    c2->cd(4);
+    obj->Draw();
 
     c2->cd(2);
     gStyle->SetOptStat(1101);
-    disp7->Draw("hist");
-    gPad->Update();
+    obj=disp7.DrawCopy("hist");
+
+    c2->cd(5);
+    obj->Draw();
 
     c2->cd(3);
     gStyle->SetOptStat(1101);
-    disp8->Draw("hist");
-    gPad->Update();
-
-    c2->cd(4);
-    gPad->SetBorderMode(0);
-    gPad->Divide(1,1);
-    gPad->cd(1);
-    disp6->Draw();
-
-    c2->cd(5);
-    gPad->SetBorderMode(0);
-    gPad->Divide(1,1);
-    gPad->cd(1);
-    disp7->Draw();
+    obj=disp8.DrawCopy("hist");
 
     c2->cd(6);
-    gPad->SetBorderMode(0);
-    gPad->Divide(1,1);
-    gPad->cd(1);
-    disp8->Draw();
-
+    obj->Draw();
 
     TCanvas *c3 = MH::MakeDefCanvas("Calibration3","Plots of Pedestals",700,900);
@@ -308,50 +270,32 @@
     c3->cd(1);
     gStyle->SetOptStat(1111);
-    disp9->Draw("hist");
-    gPad->Update();
+    obj=disp9.DrawCopy("hist");
+
+    c3->cd(3);
+    obj->Draw();
 
     c3->cd(2);
     gStyle->SetOptStat(1101);
-    disp10->Draw("hist");
-    gPad->Update();
-
-    c3->cd(3);
-    gPad->SetBorderMode(0);
-    gPad->Divide(1,1);
-    gPad->cd(1);
-    disp9->Draw();
+    obj=disp10.DrawCopy("hist");
 
     c3->cd(4);
-    gPad->SetBorderMode(0);
-    gPad->Divide(1,1);
-    gPad->cd(1);
-    disp10->Draw();
+    obj->Draw();
 
     TCanvas *c4 = MH::MakeDefCanvas("Calibration4","Plots of Reduced Charges",700,900);
-    c3->Divide(2, 2);
+    c4->Divide(2, 2);
 
     c4->cd(1);
     gStyle->SetOptStat(1111);
-    disp11->Draw("hist");
-    gPad->Update();
+    obj=disp11.DrawCopy("hist");
+
+    c4->cd(3);
+    obj->Draw();
 
     c4->cd(2);
     gStyle->SetOptStat(1101);
-    disp12->Draw("hist");
-    gPad->Update();
-
-    c4->cd(3);
-    gPad->SetBorderMode(0);
-    gPad->Divide(1,1);
-    gPad->cd(1);
-    disp11->Draw();
+    obj=disp12.DrawCopy("hist");
 
     c4->cd(4);
-    gPad->SetBorderMode(0);
-    gPad->Divide(1,1);
-    gPad->cd(1);
-    disp12->Draw();
-
-
+    obj->Draw();
 
 //    c->SaveAs(fname(0, fname.Last('.')+1) + "ps");
