Ignore:
Timestamp:
08/12/04 16:41:37 (20 years ago)
Author:
tbretz
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mhist/MHCamera.cc

    r4430 r4601  
    16761676}
    16771677
    1678 
    16791678// --------------------------------------------------------------------------
    16801679//
     
    16951694// 7: Single Gauss with TLegend to show the meaning of the colours
    16961695//
    1697 //
    16981696void MHCamera::DrawProjection(Int_t fit) const
    16991697{
    1700  
    1701   TArrayI inner(1);
    1702   inner[0] = 0;
    1703  
    1704   TArrayI outer(1);
    1705   outer[0] = 1;
    1706          
    1707   if (fit==5 || fit==6)
    1708     {
    1709      
    1710       if (GetGeomCam().InheritsFrom("MGeomCamMagic"))
     1698    TArrayI inner(1);
     1699    inner[0] = 0;
     1700
     1701    TArrayI outer(1);
     1702    outer[0] = 1;
     1703
     1704    if (fit==5 || fit==6)
     1705    {
     1706        if (GetGeomCam().InheritsFrom("MGeomCamMagic"))
    17111707        {
    1712           TArrayI s0(6);
    1713           s0[0] = 6;
    1714           s0[1] = 1;
    1715           s0[2] = 2;
    1716           s0[3] = 3;
    1717           s0[4] = 4;
    1718           s0[5] = 5;
    1719 
    1720           TArrayI s1(3);
    1721           s1[0] = 6;
    1722           s1[1] = 1;
    1723           s1[2] = 2;
    1724          
    1725           TArrayI s2(3);
    1726           s2[0] = 3;
    1727           s2[1] = 4;
    1728           s2[2] = 5;
    1729 
    1730           gPad->Clear();
    1731           TVirtualPad *pad = gPad;
    1732           pad->Divide(2,1);
    1733          
    1734           TH1D *inout[2];
    1735           inout[0] = ProjectionS(s0, inner, "Inner");
    1736           inout[1] = ProjectionS(s0, outer, "Outer");
    1737          
    1738           inout[0]->SetDirectory(NULL);
    1739           inout[1]->SetDirectory(NULL);
    1740 
    1741           for (int i=0; i<2; i++)
     1708            TArrayI s0(6);
     1709            s0[0] = 6;
     1710            s0[1] = 1;
     1711            s0[2] = 2;
     1712            s0[3] = 3;
     1713            s0[4] = 4;
     1714            s0[5] = 5;
     1715
     1716            TArrayI s1(3);
     1717            s1[0] = 6;
     1718            s1[1] = 1;
     1719            s1[2] = 2;
     1720
     1721            TArrayI s2(3);
     1722            s2[0] = 3;
     1723            s2[1] = 4;
     1724            s2[2] = 5;
     1725
     1726            gPad->Clear();
     1727            TVirtualPad *pad = gPad;
     1728            pad->Divide(2,1);
     1729
     1730            TH1D *inout[2];
     1731            inout[0] = ProjectionS(s0, inner, "Inner");
     1732            inout[1] = ProjectionS(s0, outer, "Outer");
     1733
     1734            inout[0]->SetDirectory(NULL);
     1735            inout[1]->SetDirectory(NULL);
     1736
     1737            for (int i=0; i<2; i++)
    17421738            {
    1743               pad->cd(i+1);
    1744               inout[i]->SetLineColor(kRed+i);
    1745               inout[i]->SetBit(kCanDelete);
    1746               inout[i]->Draw();
    1747               inout[i]->Fit("gaus","Q");
    1748              
    1749              
    1750               if (fit == 6)
     1739                pad->cd(i+1);
     1740                gPad->SetBorderMode(0);
     1741
     1742                inout[i]->SetLineColor(kRed+i);
     1743                inout[i]->SetBit(kCanDelete);
     1744                inout[i]->Draw();
     1745                inout[i]->Fit("gaus","Q");
     1746
     1747                if (fit == 6)
    17511748                {
    1752                   TH1D *half[2];
    1753                   half[0] = ProjectionS(s1, i==0 ? inner : outer , "Sector 6-1-2");
    1754                   half[1] = ProjectionS(s2, i==0 ? inner : outer , "Sector 3-4-5");
    1755                  
    1756                   for (int j=0; j<2; j++)
     1749                    TH1D *half[2];
     1750                    half[0] = ProjectionS(s1, i==0 ? inner : outer , "Sector 6-1-2");
     1751                    half[1] = ProjectionS(s2, i==0 ? inner : outer , "Sector 3-4-5");
     1752
     1753                    for (int j=0; j<2; j++)
    17571754                    {
    1758                       half[j]->SetLineColor(kRed+i+2*j+1);
    1759                       half[j]->SetDirectory(NULL);
    1760                       half[j]->SetBit(kCanDelete);
    1761                       half[j]->Draw("same");
     1755                        half[j]->SetLineColor(kRed+i+2*j+1);
     1756                        half[j]->SetDirectory(NULL);
     1757                        half[j]->SetBit(kCanDelete);
     1758                        half[j]->Draw("same");
    17621759                    }
    17631760                }
    1764              
     1761
    17651762            }
    1766          
    1767           gLog << all << GetName()
    1768                << Form("%s%5.3f%s%3.2f"," Inner Pixels: ",
    1769                        inout[0]->GetFunction("gaus")->GetParameter(1),"+-",
    1770                        inout[0]->GetFunction("gaus")->GetParameter(2));
    1771           gLog << Form("%s%5.3f%s%3.2f"," Outer Pixels: ",
    1772                        inout[1]->GetFunction("gaus")->GetParameter(1),"+-",
    1773                        inout[1]->GetFunction("gaus")->GetParameter(2)) << endl;
    1774 
    17751763        }
    1776       return;
    1777     }
    1778  
    1779   TH1D *obj2 = (TH1D*)Projection(GetName());
    1780   obj2->SetDirectory(0);
    1781   obj2->Draw();
    1782   obj2->SetBit(kCanDelete);
    1783  
    1784   if (fit == 0)
    1785     return;
    1786  
    1787   if (GetGeomCam().InheritsFrom("MGeomCamMagic"))
    1788     {
    1789       TArrayI s0(3);
    1790       s0[0] = 6;
    1791       s0[1] = 1;
    1792       s0[2] = 2;
     1764        return;
     1765    }
     1766
     1767    TH1D *obj2 = (TH1D*)Projection(GetName());
     1768    obj2->SetDirectory(0);
     1769    obj2->Draw();
     1770    obj2->SetBit(kCanDelete);
     1771
     1772    if (fit == 0)
     1773        return;
     1774
     1775    if (GetGeomCam().InheritsFrom("MGeomCamMagic"))
     1776    {
     1777        TArrayI s0(3);
     1778        s0[0] = 6;
     1779        s0[1] = 1;
     1780        s0[2] = 2;
     1781
     1782        TArrayI s1(3);
     1783        s1[0] = 3;
     1784        s1[1] = 4;
     1785        s1[2] = 5;
     1786
     1787        TH1D *halfInOut[4];
     1788
     1789        // Just to get the right (maximum) binning
     1790        halfInOut[0] = ProjectionS(s0, inner, "Sector 6-1-2 Inner");
     1791        halfInOut[1] = ProjectionS(s1, inner, "Sector 3-4-5 Inner");
     1792        halfInOut[2] = ProjectionS(s0, outer, "Sector 6-1-2 Outer");
     1793        halfInOut[3] = ProjectionS(s1, outer, "Sector 3-4-5 Outer");
     1794
     1795        TLegend *leg = new TLegend(0.05,0.65,0.35,0.9);
     1796
     1797        for (int i=0; i<4; i++)
     1798        {
     1799            halfInOut[i]->SetLineColor(kRed+i);
     1800            halfInOut[i]->SetDirectory(0);
     1801            halfInOut[i]->SetBit(kCanDelete);
     1802            halfInOut[i]->Draw("same");
     1803            leg->AddEntry(halfInOut[i],halfInOut[i]->GetTitle(),"l");
     1804        }
     1805
     1806        if (fit==7)
     1807            leg->Draw();
    17931808     
    1794       TArrayI s1(3);
    1795       s1[0] = 3;
    1796       s1[1] = 4;
    1797       s1[2] = 5;
    1798      
    1799      
    1800       TH1D *halfInOut[4];
    1801      
    1802       // Just to get the right (maximum) binning
    1803       halfInOut[0] = ProjectionS(s0, inner, "Sector 6-1-2 Inner");
    1804       halfInOut[1] = ProjectionS(s1, inner, "Sector 3-4-5 Inner");
    1805       halfInOut[2] = ProjectionS(s0, outer, "Sector 6-1-2 Outer");
    1806       halfInOut[3] = ProjectionS(s1, outer, "Sector 3-4-5 Outer");
    1807 
    1808       TLegend *leg = new TLegend(0.05,0.65,0.35,0.9);
    1809      
    1810       for (int i=0; i<4; i++)
    1811         {
    1812           halfInOut[i]->SetLineColor(kRed+i);
    1813           halfInOut[i]->SetDirectory(0);
    1814           halfInOut[i]->SetBit(kCanDelete);
    1815           halfInOut[i]->Draw("same");
    1816           leg->AddEntry(halfInOut[i],halfInOut[i]->GetTitle(),"l");
    1817         }
    1818 
    1819       if (fit==7)
    1820         leg->Draw();
    1821      
    1822       gPad->Modified();
    1823       gPad->Update();
    1824     }
    1825  
    1826   const Double_t min   = obj2->GetBinCenter(obj2->GetXaxis()->GetFirst());
    1827   const Double_t max   = obj2->GetBinCenter(obj2->GetXaxis()->GetLast());
    1828   const Double_t integ = obj2->Integral("width")/2.5;
    1829   const Double_t mean  = obj2->GetMean();
    1830   const Double_t rms   = obj2->GetRMS();
    1831   const Double_t width = max-min;
    1832  
    1833   const TString dgausformula = "([0]-[3])/[2]*exp(-0.5*(x-[1])*(x-[1])/[2]/[2])"
    1834     "+[3]/[5]*exp(-0.5*(x-[4])*(x-[4])/[5]/[5])";
    1835  
    1836   const TString tgausformula = "([0]-[3]-[6])/[2]*exp(-0.5*(x-[1])*(x-[1])/[2]/[2])"
    1837     "+[3]/[5]*exp(-0.5*(x-[4])*(x-[4])/[5]/[5])"
    1838     "+[6]/[8]*exp(-0.5*(x-[7])*(x-[7])/[8]/[8])";
    1839   TF1 *f=0;
    1840   switch (fit)
     1809        gPad->Modified();
     1810        gPad->Update();
     1811    }
     1812
     1813    const Double_t min   = obj2->GetBinCenter(obj2->GetXaxis()->GetFirst());
     1814    const Double_t max   = obj2->GetBinCenter(obj2->GetXaxis()->GetLast());
     1815    const Double_t integ = obj2->Integral("width")/2.5;
     1816    const Double_t mean  = obj2->GetMean();
     1817    const Double_t rms   = obj2->GetRMS();
     1818    const Double_t width = max-min;
     1819
     1820    const TString dgausformula = "([0]-[3])/[2]*exp(-0.5*(x-[1])*(x-[1])/[2]/[2])"
     1821        "+[3]/[5]*exp(-0.5*(x-[4])*(x-[4])/[5]/[5])";
     1822
     1823    const TString tgausformula = "([0]-[3]-[6])/[2]*exp(-0.5*(x-[1])*(x-[1])/[2]/[2])"
     1824        "+[3]/[5]*exp(-0.5*(x-[4])*(x-[4])/[5]/[5])"
     1825        "+[6]/[8]*exp(-0.5*(x-[7])*(x-[7])/[8]/[8])";
     1826
     1827    TF1 *f=0;
     1828    switch (fit)
    18411829    {
    18421830    case 1:
    1843       f = new TF1("sgaus", "gaus(0)", min, max);
    1844       f->SetLineColor(kYellow);
    1845       f->SetBit(kCanDelete);
    1846       f->SetParNames("Area", "#mu", "#sigma");
    1847       f->SetParameters(integ/rms, mean, rms);
    1848       f->SetParLimits(0, 0,   integ);
    1849       f->SetParLimits(1, min, max);
    1850       f->SetParLimits(2, 0,   width/1.5);
    1851      
    1852       obj2->Fit(f, "QLR");
    1853       break;
    1854      
     1831        f = new TF1("sgaus", "gaus(0)", min, max);
     1832        f->SetLineColor(kYellow);
     1833        f->SetBit(kCanDelete);
     1834        f->SetParNames("Area", "#mu", "#sigma");
     1835        f->SetParameters(integ/rms, mean, rms);
     1836        f->SetParLimits(0, 0,   integ);
     1837        f->SetParLimits(1, min, max);
     1838        f->SetParLimits(2, 0,   width/1.5);
     1839
     1840        obj2->Fit(f, "QLR");
     1841        break;
     1842
    18551843    case 2:
    1856       f = new TF1("dgaus",dgausformula.Data(),min,max);
    1857       f->SetLineColor(kYellow);
    1858       f->SetBit(kCanDelete);
    1859       f->SetParNames("A_{tot}", "#mu1", "#sigma1", "A2", "#mu2", "#sigma2");
    1860       f->SetParameters(integ,(min+mean)/2.,width/4.,
    1861                        integ/width/2.,(max+mean)/2.,width/4.);
    1862       // The left-sided Gauss
    1863       f->SetParLimits(0,integ-1.5      , integ+1.5);
    1864       f->SetParLimits(1,min+(width/10.), mean);
    1865       f->SetParLimits(2,0              , width/2.);
    1866       // The right-sided Gauss
    1867       f->SetParLimits(3,0   , integ);
    1868       f->SetParLimits(4,mean, max-(width/10.));
    1869       f->SetParLimits(5,0   , width/2.);
    1870       obj2->Fit(f,"QLRM");
    1871       break;
    1872      
     1844        f = new TF1("dgaus",dgausformula.Data(),min,max);
     1845        f->SetLineColor(kYellow);
     1846        f->SetBit(kCanDelete);
     1847        f->SetParNames("A_{tot}", "#mu1", "#sigma1", "A2", "#mu2", "#sigma2");
     1848        f->SetParameters(integ,(min+mean)/2.,width/4.,
     1849                         integ/width/2.,(max+mean)/2.,width/4.);
     1850        // The left-sided Gauss
     1851        f->SetParLimits(0,integ-1.5      , integ+1.5);
     1852        f->SetParLimits(1,min+(width/10.), mean);
     1853        f->SetParLimits(2,0              , width/2.);
     1854        // The right-sided Gauss
     1855        f->SetParLimits(3,0   , integ);
     1856        f->SetParLimits(4,mean, max-(width/10.));
     1857        f->SetParLimits(5,0   , width/2.);
     1858        obj2->Fit(f,"QLRM");
     1859        break;
     1860
    18731861    case 3:
    1874       f = new TF1("tgaus",tgausformula.Data(),min,max);
    1875       f->SetLineColor(kYellow);
    1876       f->SetBit(kCanDelete);
    1877       f->SetParNames("A_{tot}","#mu_{1}","#sigma_{1}",
    1878                      "A_{2}","#mu_{2}","#sigma_{2}",
    1879                      "A_{3}","#mu_{3}","#sigma_{3}");
    1880       f->SetParameters(integ,(min+mean)/2,width/4.,
    1881                        integ/width/3.,(max+mean)/2.,width/4.,
    1882                        integ/width/3.,mean,width/2.);
    1883       // The left-sided Gauss
    1884       f->SetParLimits(0,integ-1.5,integ+1.5);
    1885       f->SetParLimits(1,min+(width/10.),mean);
    1886       f->SetParLimits(2,width/15.,width/2.);
    1887       // The right-sided Gauss
    1888       f->SetParLimits(3,0.,integ);
    1889       f->SetParLimits(4,mean,max-(width/10.));
    1890       f->SetParLimits(5,width/15.,width/2.);
    1891       // The Gauss describing the outliers
    1892       f->SetParLimits(6,0.,integ);
    1893       f->SetParLimits(7,min,max);
    1894       f->SetParLimits(8,width/4.,width/1.5);
    1895       obj2->Fit(f,"QLRM");
    1896       break;
    1897      
     1862        f = new TF1("tgaus",tgausformula.Data(),min,max);
     1863        f->SetLineColor(kYellow);
     1864        f->SetBit(kCanDelete);
     1865        f->SetParNames("A_{tot}","#mu_{1}","#sigma_{1}",
     1866                       "A_{2}","#mu_{2}","#sigma_{2}",
     1867                       "A_{3}","#mu_{3}","#sigma_{3}");
     1868        f->SetParameters(integ,(min+mean)/2,width/4.,
     1869                         integ/width/3.,(max+mean)/2.,width/4.,
     1870                         integ/width/3.,mean,width/2.);
     1871        // The left-sided Gauss
     1872        f->SetParLimits(0,integ-1.5,integ+1.5);
     1873        f->SetParLimits(1,min+(width/10.),mean);
     1874        f->SetParLimits(2,width/15.,width/2.);
     1875        // The right-sided Gauss
     1876        f->SetParLimits(3,0.,integ);
     1877        f->SetParLimits(4,mean,max-(width/10.));
     1878        f->SetParLimits(5,width/15.,width/2.);
     1879        // The Gauss describing the outliers
     1880        f->SetParLimits(6,0.,integ);
     1881        f->SetParLimits(7,min,max);
     1882        f->SetParLimits(8,width/4.,width/1.5);
     1883        obj2->Fit(f,"QLRM");
     1884        break;
     1885
    18981886    case 4:
    1899       obj2->Fit("pol0", "Q");
    1900       obj2->GetFunction("pol0")->SetLineColor(kYellow);
    1901       break;
    1902      
     1887        obj2->Fit("pol0", "Q");
     1888        obj2->GetFunction("pol0")->SetLineColor(kYellow);
     1889        break;
     1890
    19031891    case 9:
    1904       break;
    1905      
     1892        break;
     1893
    19061894    default:
    1907       obj2->Fit("gaus", "Q");
    1908       obj2->GetFunction("gaus")->SetLineColor(kYellow);
    1909       break;
    1910     }
    1911 }
    1912 
     1895        obj2->Fit("gaus", "Q");
     1896        obj2->GetFunction("gaus")->SetLineColor(kYellow);
     1897        break;
     1898    }
     1899}
    19131900
    19141901// --------------------------------------------------------------------------
     
    19211908void MHCamera::DrawRadialProfile() const
    19221909{
    1923  
    1924   TProfile *obj2 = (TProfile*)RadialProfile(GetName());
    1925   obj2->SetDirectory(0);
    1926   obj2->Draw();
    1927   obj2->SetBit(kCanDelete);
    1928  
    1929   if (GetGeomCam().InheritsFrom("MGeomCamMagic"))
    1930     {
    1931 
    1932       TArrayI s0(6);
    1933       s0[0] = 1;
    1934       s0[1] = 2;
    1935       s0[2] = 3;
    1936       s0[3] = 4;
    1937       s0[4] = 5;
    1938       s0[5] = 6;
    1939 
    1940       TArrayI inner(1);
    1941       inner[0] = 0;
    1942      
    1943       TArrayI outer(1);
    1944       outer[0] = 1;
    1945      
    1946       // Just to get the right (maximum) binning
    1947       TProfile *half[2];
    1948       half[0] = RadialProfileS(s0, inner,Form("%s%s",GetName(),"Inner"));
    1949       half[1] = RadialProfileS(s0, outer,Form("%s%s",GetName(),"Outer"));
    1950      
    1951       for (Int_t i=0; i<2; i++)
     1910    TProfile *obj2 = (TProfile*)RadialProfile(GetName());
     1911    obj2->SetDirectory(0);
     1912    obj2->Draw();
     1913    obj2->SetBit(kCanDelete);
     1914
     1915    if (GetGeomCam().InheritsFrom("MGeomCamMagic"))
     1916    {
     1917        TArrayI s0(6);
     1918        s0[0] = 1;
     1919        s0[1] = 2;
     1920        s0[2] = 3;
     1921        s0[3] = 4;
     1922        s0[4] = 5;
     1923        s0[5] = 6;
     1924
     1925        TArrayI inner(1);
     1926        inner[0] = 0;
     1927
     1928        TArrayI outer(1);
     1929        outer[0] = 1;
     1930
     1931        // Just to get the right (maximum) binning
     1932        TProfile *half[2];
     1933        half[0] = RadialProfileS(s0, inner,Form("%sInner",GetName()));
     1934        half[1] = RadialProfileS(s0, outer,Form("%sOuter",GetName()));
     1935
     1936        for (Int_t i=0; i<2; i++)
    19521937        {
    1953           Double_t min = GetGeomCam().GetMinRadius(i);
    1954           Double_t max = GetGeomCam().GetMaxRadius(i);
    1955 
    1956           half[i]->SetLineColor(kRed+i);
    1957           half[i]->SetDirectory(0);
    1958           half[i]->SetBit(kCanDelete);
    1959           half[i]->Draw("same");
    1960           half[i]->Fit("pol1","Q","",min,max);
    1961           half[i]->GetFunction("pol1")->SetLineColor(kRed+i);
    1962           half[i]->GetFunction("pol1")->SetLineWidth(1);
     1938            Double_t min = GetGeomCam().GetMinRadius(i);
     1939            Double_t max = GetGeomCam().GetMaxRadius(i);
     1940
     1941            half[i]->SetLineColor(kRed+i);
     1942            half[i]->SetDirectory(0);
     1943            half[i]->SetBit(kCanDelete);
     1944            half[i]->Draw("same");
     1945            half[i]->Fit("pol1","Q","",min,max);
     1946            half[i]->GetFunction("pol1")->SetLineColor(kRed+i);
     1947            half[i]->GetFunction("pol1")->SetLineWidth(1);
    19631948        }
    19641949    }
     
    19741959void MHCamera::DrawAzimuthProfile() const
    19751960{
    1976  
    1977   TProfile *obj2 = (TProfile*)AzimuthProfile(GetName());
    1978   obj2->SetDirectory(0);
    1979   obj2->Draw();
    1980   obj2->SetBit(kCanDelete);
    1981   obj2->Fit("pol0","Q","");
    1982   obj2->GetFunction("pol0")->SetLineWidth(1);
    1983  
    1984   if (GetGeomCam().InheritsFrom("MGeomCamMagic"))
    1985     {
    1986 
    1987       TArrayI inner(1);
    1988       inner[0] = 0;
    1989      
    1990       TArrayI outer(1);
    1991       outer[0] = 1;
    1992      
    1993       // Just to get the right (maximum) binning
    1994       TProfile *half[2];
    1995       half[0] = AzimuthProfileA(inner,Form("%s%s",GetName(),"Inner"));
    1996       half[1] = AzimuthProfileA(outer,Form("%s%s",GetName(),"Outer"));
    1997      
    1998       for (Int_t i=0; i<2; i++)
     1961    TProfile *obj2 = (TProfile*)AzimuthProfile(GetName());
     1962    obj2->SetDirectory(0);
     1963    obj2->Draw();
     1964    obj2->SetBit(kCanDelete);
     1965    obj2->Fit("pol0","Q","");
     1966    obj2->GetFunction("pol0")->SetLineWidth(1);
     1967
     1968    if (GetGeomCam().InheritsFrom("MGeomCamMagic"))
     1969    {
     1970        TArrayI inner(1);
     1971        inner[0] = 0;
     1972
     1973        TArrayI outer(1);
     1974        outer[0] = 1;
     1975
     1976        // Just to get the right (maximum) binning
     1977        TProfile *half[2];
     1978        half[0] = AzimuthProfileA(inner,Form("%sInner",GetName()));
     1979        half[1] = AzimuthProfileA(outer,Form("%sOuter",GetName()));
     1980
     1981        for (Int_t i=0; i<2; i++)
    19991982        {
    2000           half[i]->SetLineColor(kRed+i);
    2001           half[i]->SetDirectory(0);
    2002           half[i]->SetBit(kCanDelete);
    2003           half[i]->SetMarkerSize(0.5);
    2004           half[i]->Draw("same");
     1983            half[i]->SetLineColor(kRed+i);
     1984            half[i]->SetDirectory(0);
     1985            half[i]->SetBit(kCanDelete);
     1986            half[i]->SetMarkerSize(0.5);
     1987            half[i]->Draw("same");
    20051988        }
    20061989    }
     
    20282011                       TObject *notify)
    20292012{
    2030 
    2031   c.cd(x);
    2032   gPad->SetBorderMode(0);
    2033   gPad->SetTicks();
    2034   MHCamera *obj1=(MHCamera*)DrawCopy("hist");
    2035   obj1->SetDirectory(NULL);
    2036  
    2037   if (notify)
    2038     obj1->AddNotify(notify);
    2039 
    2040   c.cd(x+y);
    2041   gPad->SetBorderMode(0);
    2042   obj1->SetPrettyPalette();
    2043   obj1->Draw();
    2044 
    2045   Int_t cnt = 2;
    2046 
    2047   if (rad)
    2048     {
    2049       c.cd(x+2*y);
    2050       gPad->SetBorderMode(0);
    2051       gPad->SetTicks();
    2052       DrawRadialProfile();
    2053       cnt++;
    2054     }
    2055  
    2056   if (azi)
    2057     {
    2058       c.cd(x+cnt*y);
    2059       gPad->SetBorderMode(0);
    2060       gPad->SetTicks();
    2061       DrawAzimuthProfile();
    2062       cnt++;
    2063     }
    2064  
    2065   if (!fit)
    2066     return;
    2067  
    2068   c.cd(x + cnt*y);
    2069   gPad->SetBorderMode(0);
    2070   gPad->SetTicks();
    2071   DrawProjection(fit);
    2072 }
    2073 
    2074 
     2013    c.cd(x);
     2014    gPad->SetBorderMode(0);
     2015    gPad->SetTicks();
     2016    MHCamera *obj1=(MHCamera*)DrawCopy("hist");
     2017    obj1->SetDirectory(NULL);
     2018
     2019    if (notify)
     2020        obj1->AddNotify(notify);
     2021
     2022    c.cd(x+y);
     2023    gPad->SetBorderMode(0);
     2024    obj1->SetPrettyPalette();
     2025    obj1->Draw();
     2026
     2027    Int_t cnt = 2;
     2028
     2029    if (rad)
     2030    {
     2031        c.cd(x+2*y);
     2032        gPad->SetBorderMode(0);
     2033        gPad->SetTicks();
     2034        DrawRadialProfile();
     2035        cnt++;
     2036    }
     2037
     2038    if (azi)
     2039    {
     2040        c.cd(x+cnt*y);
     2041        gPad->SetBorderMode(0);
     2042        gPad->SetTicks();
     2043        DrawAzimuthProfile();
     2044        cnt++;
     2045    }
     2046
     2047    if (!fit)
     2048        return;
     2049
     2050    c.cd(x + cnt*y);
     2051    gPad->SetBorderMode(0);
     2052    gPad->SetTicks();
     2053    DrawProjection(fit);
     2054}
Note: See TracChangeset for help on using the changeset viewer.