Ignore:
Timestamp:
11/18/04 15:55:40 (20 years ago)
Author:
wittek
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mhist
Files:
2 edited

Legend:

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

    r4841 r5431  
    3232//             - the 3D-histogram   sigma, pixel no., Theta                 //
    3333//             - the 3D-histogram   (sigma^2-sigmabar^2), pixel no., Theta  //
     34//             - the 2D-histogram   Theta    vs. Phi                        //
    3435//                                                                          //
    3536//////////////////////////////////////////////////////////////////////////////
     
    6465// --------------------------------------------------------------------------
    6566//
    66 // Default Constructor. It sets name and title of the histogram.
     67// Constructor.
    6768//
    6869MHSigmaTheta::MHSigmaTheta(const char *name, const char *title)
     
    7172    fTitle = title ? title : "2D histogram sigmabar vs. Theta";
    7273
    73     fSigmaTheta.SetDirectory(NULL);
    74     fSigmaTheta.SetName("2D-ThetaSigmabar(Inner)");
    75     fSigmaTheta.SetTitle("2D: \\bar{\\sigma}, \\Theta");
    76     fSigmaTheta.SetXTitle("\\Theta [\\circ]");
    77     fSigmaTheta.SetYTitle("Sigmabar(Inner) / SQRT(Area)");
    78 
    79     fSigmaThetaOuter.SetDirectory(NULL);
    80     fSigmaThetaOuter.SetName("2D-ThetaSigmabar(Outer)");
    81     fSigmaThetaOuter.SetTitle("2D: \\bar{\\sigma}, \\Theta");
    82     fSigmaThetaOuter.SetXTitle("\\Theta [\\circ]");
    83     fSigmaThetaOuter.SetYTitle("Sigmabar(Outer) / SQRT(Area)");
    84 
    85     fSigmaPixTheta.SetDirectory(NULL);
    86     fSigmaPixTheta.SetName("3D-ThetaPixSigma");
    87     fSigmaPixTheta.SetTitle("3D: \\Theta, Pixel Id, \\sigma");
    88     fSigmaPixTheta.SetXTitle("\\Theta [\\circ]");
    89     fSigmaPixTheta.SetYTitle("Pixel Id");
    90     fSigmaPixTheta.SetZTitle("Sigma");
    91 
    92     fDiffPixTheta.SetDirectory(NULL);
    93     fDiffPixTheta.SetName("3D-ThetaPixDiff");
    94     fDiffPixTheta.SetTitle("3D: \\Theta, Pixel Id, {\\sigma}^{2}-\\bar{\\sigma}^{2}");
    95     fDiffPixTheta.SetXTitle("\\Theta [\\circ]");
    96     fDiffPixTheta.SetYTitle("Pixel Id");
    97     fDiffPixTheta.SetZTitle("(Sigma2 - Sigmabar2)/Area");
    98 
    99     // Set default binning
    100     // FIXME: Maybe ist's necessary to adapt the value to the
    101     // Magic default values
    102     MBinning binsb;
    103     MBinning binst;
    104     MBinning binsd;
    105     binsd.SetEdges(100, -10, 20);
    106     binsb.SetEdges(100, 0, 10);
    107     binst.SetEdgesCos(10, 0, 90);
    108 
    109     MBinning binspix("BinningPixel");
    110     binspix.SetEdges(578, -0.5, 577.5);
    111 
    112     SetBinning(&fSigmaTheta,      &binst, &binsb);
    113     SetBinning(&fSigmaThetaOuter, &binst, &binsb);
    114     SetBinning(&fSigmaPixTheta,   &binst, &binspix, &binsb);
    115     SetBinning(&fDiffPixTheta,    &binst, &binspix, &binsd);
    116 
     74    fThetaPhi = new TH2D;
     75    fThetaPhi->SetDirectory(NULL);
     76    fThetaPhi->UseCurrentStyle();
     77    fThetaPhi->SetName("2D-ThetaPhi");
     78    fThetaPhi->SetTitle("2D: \\Theta vs. \\Phi");
     79    fThetaPhi->SetXTitle("\\phi [\\circ]");
     80    fThetaPhi->SetYTitle("\\Theta [\\circ]");
     81    fThetaPhi->SetTitleOffset(1.2,"Y");
     82
     83    fSigmaTheta = new TH2D;
     84    fSigmaTheta->SetDirectory(NULL);
     85    fSigmaTheta->UseCurrentStyle();
     86    fSigmaTheta->SetName("2D-ThetaSigmabar(Inner)");
     87    fSigmaTheta->SetTitle("2D: \\bar{\\sigma}, \\Theta");
     88    fSigmaTheta->SetXTitle("\\Theta [\\circ]");
     89    fSigmaTheta->SetYTitle("Sigmabar(Inner)");
     90    fSigmaTheta->SetTitleOffset(1.2,"Y");
     91
     92    fSigmaThetaOuter = new TH2D;
     93    fSigmaThetaOuter->SetDirectory(NULL);
     94    fSigmaThetaOuter->UseCurrentStyle();
     95    fSigmaThetaOuter->SetName("2D-ThetaSigmabar(Outer)");
     96    fSigmaThetaOuter->SetTitle("2D: \\bar{\\sigma}, \\Theta");
     97    fSigmaThetaOuter->SetXTitle("\\Theta [\\circ]");
     98    fSigmaThetaOuter->SetYTitle("Sigmabar(Outer)");
     99    fSigmaThetaOuter->SetTitleOffset(1.2,"Y");
     100
     101    fSigmaPixTheta = new TH3D;
     102    fSigmaPixTheta->SetDirectory(NULL);
     103    fSigmaPixTheta->UseCurrentStyle();
     104    fSigmaPixTheta->SetName("3D-ThetaPixSigma");
     105    fSigmaPixTheta->SetTitle("3D: \\Theta, Pixel Id, \\sigma");
     106    fSigmaPixTheta->SetXTitle("\\Theta [\\circ]");
     107    fSigmaPixTheta->SetYTitle("Pixel Id");
     108    fSigmaPixTheta->SetZTitle("Sigma");
     109
     110    fDiffPixTheta = new TH3D;
     111    fDiffPixTheta->SetDirectory(NULL);
     112    fDiffPixTheta->UseCurrentStyle();
     113    fDiffPixTheta->SetName("3D-ThetaPixDiff");
     114    //fDiffPixTheta->SetTitle("3D: \\Theta, Pixel Id, {\\sigma}^{2}-\\bar{\\sigma}^{2}");
     115    fDiffPixTheta->SetTitle("3D: \\Theta, Pixel Id, (Sigma2-Sigmabar2)/Area");
     116    fDiffPixTheta->SetXTitle("\\Theta [\\circ]");
     117    fDiffPixTheta->SetYTitle("Pixel Id");
     118    fDiffPixTheta->SetZTitle("(Sigma2 - Sigmabar2)/Area");
     119
     120    // Define default binning
     121    fBinsPhi = new MBinning;
     122    fBinsPhi->SetEdges( 20, 0.0, 360.0);
     123
     124    Double_t fThetaLo =  0.0;
     125    Double_t fThetaHi = 90.0;
     126    fBinsTheta = new MBinning;
     127    fBinsTheta->SetEdgesCos( 10,  fThetaLo, fThetaHi);   // theta
     128    //fBinsTheta->SetEdges( 1, fThetaLo, fThetaHi);   // theta
     129
     130    fBinsSigma = new MBinning;
     131    fBinsSigma->SetEdges(   100,     0.0, 120.0);   // sigma
     132
     133    fBinsSigmabarIn  = new MBinning;
     134    fBinsSigmabarOut = new MBinning;;
     135    fBinsSigmabarIn->SetEdges(100,     0.0,  40.0);   // sigmabar (inner)
     136    fBinsSigmabarOut->SetEdges(100,     0.0,  80.0);   // sigmabar (outer)
     137
     138    fBinsPix = new MBinning;
     139    fBinsPix->SetEdges(578, -0.5, 577.5);
     140
     141    fBinsDiff = new MBinning;
     142    fBinsDiff->SetEdges(   100,  -500.0, 1500.0);   // (sigma2-sigmabar2)/area
     143
     144    SetBinning(fThetaPhi,        fBinsPhi,   fBinsTheta);
     145    SetBinning(fSigmaTheta,      fBinsTheta, fBinsSigmabarIn);
     146    SetBinning(fSigmaThetaOuter, fBinsTheta, fBinsSigmabarOut);
     147    SetBinning(fSigmaPixTheta,   fBinsTheta, fBinsPix, fBinsSigma);
     148    SetBinning(fDiffPixTheta,    fBinsTheta, fBinsPix, fBinsDiff);
     149
     150    //--------------------------------------------
    117151    fNamePedPhotCam = "MPedPhotCamFromData";
     152}
     153
     154
     155// --------------------------------------------------------------------------
     156//
     157// Destructor.
     158//
     159MHSigmaTheta::~MHSigmaTheta()
     160{
     161  delete fThetaPhi;
     162  delete fSigmaTheta;
     163  delete fSigmaThetaOuter;
     164  delete fSigmaPixTheta;
     165  delete fDiffPixTheta;
     166
     167  delete fBinsPhi;
     168  delete fBinsTheta;
     169  delete fBinsSigma;
     170  delete fBinsSigmabarIn;
     171  delete fBinsSigmabarOut;
     172  delete fBinsPix;
     173  delete fBinsDiff;
    118174}
    119175
     
    133189    fPointPos = (MPointingPos*)plist->FindObject("MPointingPos");
    134190    if (!fPointPos)
    135         *fLog << warn << "MPointingPos not found... aborting." << endl;
    136 
    137 
     191    {
     192        *fLog << err << "MPointingPos not found... aborting." << endl;
     193        return kFALSE;
     194    }
    138195
    139196    fPed = (MPedPhotCam*)plist->FindObject(AddSerialNumber(fNamePedPhotCam), "MPedPhotCam");
     
    144201        return kFALSE;
    145202    }
    146     //fPed->InitSize(fCam->GetNumPixels());
     203    fPed->InitSize(fCam->GetNumPixels());
    147204
    148205   
     
    162219
    163220
     221    //---------------------------------------------------------------
     222    *fLog << inf << "Name of MPedPhotCam container : "
     223          << fNamePedPhotCam << endl;
     224
     225
     226    //---------------------------------------------------------------
     227
     228    // Get Phi Binning
     229    MBinning* binsphi  = (MBinning*)plist->FindObject("BinningPhi", "MBinning");
     230    if (!binsphi)
     231    {
     232        *fLog << warn << "Object 'BinningPhi' [MBinning] not found... use default binning." << endl;
     233        binsphi = fBinsPhi;
     234    }
     235
    164236    // Get Theta Binning
    165237    MBinning* binstheta  = (MBinning*)plist->FindObject("BinningTheta", "MBinning");
    166238    if (!binstheta)
    167239    {
    168         *fLog << warn << "Object 'BinningTheta' [MBinning] not found... no binning applied." << endl;
    169         return kTRUE;
    170     }
    171 
    172     // Get Sigmabar binning
    173     MBinning* binssigma = (MBinning*)plist->FindObject("BinningSigmabar", "MBinning");
    174     if (!binssigma)
    175         *fLog << warn << "Object 'BinningSigmabar' [MBinning] not found... no binning applied." << endl;
     240        *fLog << warn << "Object 'BinningTheta' [MBinning] not found... use default binning." << endl;
     241        binstheta = fBinsTheta;
     242    }
     243
     244    // Get Sigma binning
     245    MBinning* binssig = (MBinning*)plist->FindObject("BinningSigma", "MBinning");
     246    if (!binssig)
     247    {
     248        *fLog << warn << "Object 'BinningSigma' [MBinning] not found... use default binning." << endl;
     249        binssig = fBinsSigma;
     250    }
     251
     252    // Get SigmabarIn binning
     253    MBinning* binssigmain = (MBinning*)plist->FindObject("BinningSigmabarIn", "MBinning");
     254    if (!binssigmain)
     255    {
     256        *fLog << warn << "Object 'BinningSigmabarIn' [MBinning] not found... use default binning." << endl;
     257        binssigmain = fBinsSigmabarIn;
     258    }
     259
     260    // Get SigmabarOut binning
     261    MBinning* binssigmaout = (MBinning*)plist->FindObject("BinningSigmabarOut", "MBinning");
     262    if (!binssigmaout)
     263    {
     264        *fLog << warn << "Object 'BinningSigmabarOut' [MBinning] not found... use default binning." << endl;
     265        binssigmaout = fBinsSigmabarOut;
     266    }
    176267
    177268    // Get binning for (sigma^2-sigmabar^2)
    178269    MBinning* binsdiff  = (MBinning*)plist->FindObject("BinningDiffsigma2", "MBinning");
    179270    if (!binsdiff)
    180         *fLog << warn << "Object 'BinningDiffsigma2' [MBinning] not found... no binning applied." << endl;
    181 
    182     //FIXME: Missing: Apply new binning to only one axis!
     271    {
     272        *fLog << warn << "Object 'BinningDiffsigma2' [MBinning] not found... use default binning." << endl;
     273        binsdiff = fBinsDiff;
     274    }
     275
     276
     277    //---------------------------------------------------------------
    183278
    184279    // Get binning for pixel number
    185280    const UInt_t npix1 = fPed->GetSize()+1;
    186     *fLog << "npix1 = " << npix1 << endl;
     281    //*fLog << "MHSigmaTheata::SetupFill(); npix1 = " << npix1 << endl;
    187282    MBinning binspix("BinningPixel");
    188283    binspix.SetEdges(npix1, -0.5, npix1-0.5);
    189284
    190285    // Set binnings in histograms
    191     if (binssigma)
    192     {
    193         SetBinning(&fSigmaTheta,      binstheta, binssigma);
    194         SetBinning(&fSigmaThetaOuter, binstheta, binssigma);
    195         SetBinning(&fSigmaPixTheta,   binstheta, &binspix, binssigma);
    196     }
    197 
    198     if (binsdiff)
    199         SetBinning(&fDiffPixTheta,  binstheta, &binspix, binsdiff);
     286    SetBinning(fThetaPhi,        binsphi,   binstheta);
     287    SetBinning(fSigmaTheta,      binstheta, binssigmain);
     288    SetBinning(fSigmaThetaOuter, binstheta, binssigmaout);
     289    SetBinning(fSigmaPixTheta,   binstheta, &binspix, binssig);
     290    SetBinning(fDiffPixTheta,    binstheta, &binspix, binsdiff);
     291
     292    *fLog << "MHSigmaTheta::SetupFill(); binnings were set" << endl;
    200293
    201294    return kTRUE;
     
    211304{
    212305    Double_t theta = fPointPos->GetZd();
     306    Double_t phi   = fPointPos->GetAz();
     307
     308    fPed->ReCalc(*fCam, fBad);
    213309
    214310    Double_t mysig      = (fPed->GetArea(0)).GetRms();
    215311    Double_t mysigouter = (fPed->GetArea(1)).GetRms();
    216312
    217     *fLog << "theta, mysig, mysigouter = " << theta << ",  " << mysig
    218           << ",  " << mysigouter << endl;
    219 
    220     fSigmaTheta.Fill(theta, mysig);
    221     fSigmaThetaOuter.Fill(theta, mysigouter);
    222 
    223     const UInt_t npix = fEvt->GetNumPixels();
    224 
    225     for (UInt_t i=0; i<npix; i++)
    226     {
    227         MCerPhotPix &cerpix = (*fEvt)[i];
    228         const Int_t id = cerpix.GetPixId();
    229 
    230         if (!cerpix.IsPixelUsed())
     313    //*fLog << "theta, mysig, mysigouter = " << theta << ",  " << mysig
     314    //      << ",  " << mysigouter << endl;
     315
     316    fThetaPhi->Fill(phi, theta);
     317    fSigmaTheta->Fill(theta, mysig);
     318    fSigmaThetaOuter->Fill(theta, mysigouter);
     319
     320    MCerPhotPix *cerpix = 0;
     321    TIter Next(*fEvt);
     322    while ( (cerpix=(MCerPhotPix*)Next()) )
     323    {
     324        const Int_t id = cerpix->GetPixId();
     325
     326        if (!cerpix->IsPixelUsed())
    231327        {
    232328          //*fLog << all << "MHSigmaTheta::Fill; unused pixel found, id = "
     
    237333        const MPedPhotPix &pix = (*fPed)[id];
    238334
    239         if ( fBad != NULL  &&  ((*fBad)[id]).IsUnsuitable() )
    240         {
    241           // this should never occur, because bad pixels should have
    242           // been set unused
    243           *fLog << all << "MHSigmaTheta::Fill; bad pixel found which is used, id = "
    244                 << id << "... go to next pixel." << endl;
    245           continue;
    246         }
    247 
    248335        // ratio is the area of pixel 0
    249336        //          divided by the area of the current pixel
     
    251338        const Double_t sigma = pix.GetRms();
    252339
    253         fSigmaPixTheta.Fill(theta, (Double_t)id, sigma*sqrt(ratio));
     340        fSigmaPixTheta->Fill(theta, (Double_t)id, sigma);
    254341
    255342        Double_t diff;
     
    258345        {
    259346          // inner pixel
    260           diff = sigma*sigma*ratio - mysig*mysig;
     347          diff = (sigma*sigma - mysig*mysig) * ratio;
    261348        }
    262349        else
    263350        {
    264351          // outer pixel
    265           diff = sigma*sigma*ratio - mysigouter*mysigouter;
     352          diff = (sigma*sigma - mysigouter*mysigouter) * ratio;
    266353        }
    267354
    268         fDiffPixTheta.Fill(theta, (Double_t)id, diff);
     355        fDiffPixTheta->Fill(theta, (Double_t)id, diff);
    269356    }
    270357
     
    285372    if ((h = (TH1D*)gPad->FindObject("ProjX-Theta")))
    286373    {
    287         ProjectionX(*h, fSigmaTheta);
     374        ProjectionX(*h, *fSigmaTheta);
    288375        if (h->GetEntries()!=0)
    289376            gPad->SetLogy();
     
    292379    padsave->cd(4);
    293380    if ((h = (TH1D*)gPad->FindObject("ProjY-sigma")))
    294         ProjectionY(*h, fSigmaTheta);
     381        ProjectionY(*h, *fSigmaTheta);
    295382
    296383    gPad = padsave;
     
    305392    TVirtualPad *pad = gPad ? gPad : MakeDefCanvas(this);
    306393    pad->SetBorderMode(0);
    307 
    308394    AppendPad("");
    309395
     
    315401    pad->cd(1);
    316402    gPad->SetBorderMode(0);
    317     h = fSigmaTheta.ProjectionX("ProjX-Theta", -1, 9999, "E");
     403    h = fSigmaTheta->ProjectionX("ProjX-Theta", -1, 9999, "E");
    318404    h->SetDirectory(NULL);
     405    h->UseCurrentStyle();
    319406    h->SetTitle("Distribution of \\Theta");
    320407    h->SetXTitle("\\Theta [\\circ]");
    321408    h->SetYTitle("No.of events");
     409    h->SetTitleOffset(1.2,"Y");
    322410    h->Draw(opt);
    323411    h->SetBit(kCanDelete);
     
    325413    pad->cd(2);
    326414    gPad->SetBorderMode(0);
    327     h = fDiffPixTheta.Project3D("zx");
     415    h = fDiffPixTheta->Project3D("zx");
    328416    h->SetDirectory(NULL);
    329     h->SetTitle("\\sigma_{ped}^{2}-\\bar{\\sigma}_{ped}^{2} vs. \\Theta (all pixels)");
     417    h->UseCurrentStyle();
     418    //h->SetTitle("\\sigma_{ped}^{2}-\\bar{\\sigma}_{ped}^{2} vs. \\Theta (all pixels)");
     419    h->SetTitle("(Sigma2-Sigmabar2)/Area  vs. \\Theta (all pixels)");
    330420    h->SetXTitle("\\Theta [\\circ]");
    331421    h->SetYTitle("(Sigma2 - Sigmabar2) / Area");
     422    h->SetTitleOffset(1.2,"Y");
    332423    h->Draw("box");
    333424    h->SetBit(kCanDelete);
     
    335426    pad->cd(3);
    336427    gPad->SetBorderMode(0);
    337     h = fSigmaPixTheta.Project3D("zx");
     428    h = fSigmaPixTheta->Project3D("zx");
    338429    h->SetDirectory(NULL);
     430    h->UseCurrentStyle();
    339431    h->SetTitle("\\sigma_{ped} vs. \\Theta (all pixels)");
    340432    h->SetXTitle("\\Theta [\\circ]");
    341433    h->SetYTitle("Sigma");
     434    h->SetTitleOffset(1.2,"Y");
    342435    h->Draw("box");
    343436    h->SetBit(kCanDelete);
     
    345438    //pad->cd(7);
    346439    //gPad->SetBorderMode(0);
    347     //h = fSigmaTheta.ProjectionY("ProjY-sigma", -1, 9999, "E");
     440    //h = fSigmaTheta->ProjectionY("ProjY-sigma", -1, 9999, "E");
    348441    //h->SetDirectory(NULL);
     442    //h->UseCurrentStyle();
    349443    //h->SetTitle("Distribution of \\bar{\\sigma}_{ped}");
    350444    //h->SetXTitle("\\bar{\\sigma}_{ped}");
    351445    //h->SetYTitle("No.of events");
     446    //h->SetTitleOffset(1.2,"Y");
    352447    //h->Draw(opt);
    353448    //h->SetBit(kCanDelete);
     
    355450    pad->cd(5);
    356451    gPad->SetBorderMode(0);
    357     h = fDiffPixTheta.Project3D("zy");
     452    h = fDiffPixTheta->Project3D("zy");
    358453    h->SetDirectory(NULL);
    359     h->SetTitle("\\sigma_{ped}^{2}-\\bar{\\sigma}_{ped}^{2} vs. pixel Id (all  \\Theta)");
     454    h->UseCurrentStyle();
     455    //h->SetTitle("\\sigma_{ped}^{2}-\\bar{\\sigma}_{ped}^{2} vs. pixel Id (all  \\Theta)");
     456    h->SetTitle("(Sigma2-Sigmabar2)/Area  vs. pixel Id (all  \\Theta)");
    360457    h->SetXTitle("Pixel Id");
    361     h->SetYTitle("Sigma2 - sigmabar2) / Area");
     458    h->SetYTitle("(Sigma2 - sigmabar2) / Area");
     459    h->SetTitleOffset(1.2,"Y");
    362460    h->Draw("box");
    363461    h->SetBit(kCanDelete);
     
    365463    pad->cd(6);
    366464    gPad->SetBorderMode(0);
    367     h = fSigmaPixTheta.Project3D("zy");
     465    h = fSigmaPixTheta->Project3D("zy");
    368466    h->SetDirectory(NULL);
     467    h->UseCurrentStyle();
    369468    h->SetTitle("\\sigma_{ped} vs. pixel Id (all  \\Theta)");
    370469    h->SetXTitle("Pixel Id");
    371470    h->SetYTitle("Sigma");
     471    h->SetTitleOffset(1.2,"Y");
    372472    h->Draw("box");
    373473    h->SetBit(kCanDelete);
    374474
    375475    pad->cd(4);
    376     fSigmaTheta.Draw(opt);
     476    gPad->SetBorderMode(0);
     477    fSigmaTheta->Draw();
    377478
    378479    pad->cd(7);
    379     fSigmaThetaOuter.Draw(opt);
    380 
    381     //pad->cd(8);
    382     //fDiffPixTheta.Draw(opt);
    383 
    384     //pad->cd(9);
    385     //fSigmaPixTheta.Draw(opt);
     480    gPad->SetBorderMode(0);
     481    fSigmaThetaOuter->Draw();
     482
     483    pad->cd(8);
     484    gPad->SetBorderMode(0);
     485    fThetaPhi->Draw();
     486
     487    pad->cd(9);
     488    gPad->SetBorderMode(0);
     489    h = fThetaPhi->ProjectionX("ProjX-Phi", -1, 9999, "E");
     490    h->SetDirectory(NULL);
     491    h->UseCurrentStyle();
     492    h->SetTitle("Distribution of \\Phi");
     493    h->SetXTitle("\\phi [\\circ]");
     494    h->SetYTitle("No. of events");
     495    h->SetTitleOffset(1.2,"Y");
     496    h->Draw(opt);
     497    h->SetBit(kCanDelete);
    386498}
    387499
  • trunk/MagicSoft/Mars/mhist/MHSigmaTheta.h

    r4841 r5431  
    3535
    3636                           // sigmabar is the average pedestal sigma 
    37     TH2D fSigmaTheta;      // 2D-distribution sigmabar versus Theta (Inner)
    38     TH2D fSigmaThetaOuter; // 2D-distribution sigmabar versus Theta (Outer)
     37    TH2D *fSigmaTheta;      // 2D-distribution sigmabar versus Theta (Inner)
     38    TH2D *fSigmaThetaOuter; // 2D-distribution sigmabar versus Theta (Outer)
    3939
    40     TH3D fSigmaPixTheta; // 3D-distr.:Theta, pixel, pedestal sigma
    41     TH3D fDiffPixTheta;  // 3D-distr.:Theta, pixel, sigma^2-sigmabar^2
     40    TH3D *fSigmaPixTheta; // 3D-distr.:Theta, pixel, pedestal sigma
     41    TH3D *fDiffPixTheta;  // 3D-distr.:Theta, pixel, sigma^2-sigmabar^2
     42
     43    TH2D *fThetaPhi;      // 2D-distribution Theta versus Phi
     44
     45    MBinning *fBinsPhi;            //!
     46    MBinning *fBinsTheta;          //!
     47    MBinning *fBinsSigma;          //!
     48    MBinning *fBinsSigmabarIn;     //!
     49    MBinning *fBinsSigmabarOut;    //!
     50    MBinning *fBinsPix;            //!
     51    MBinning *fBinsDiff;           //!
    4252
    4353    void Paint(Option_t *opt="");
     
    4555public:
    4656    MHSigmaTheta(const char *name=NULL, const char *title=NULL);
     57    ~MHSigmaTheta();
    4758
    4859    void SetNamePedPhotCam(const char *name)  { fNamePedPhotCam = name; }
     
    5162    Bool_t Fill(const MParContainer *par, const Stat_t w=1);
    5263
    53     const TH2D *GetSigmaTheta() { return &fSigmaTheta; }
    54     const TH2D *GetSigmaTheta() const { return &fSigmaTheta; }
     64    const TH2D *GetThetaPhi() { return fThetaPhi; }
     65    const TH2D *GetThetaPhi() const { return fThetaPhi; }
    5566
    56     const TH2D *GetSigmaThetaOuter() { return &fSigmaThetaOuter; }
    57     const TH2D *GetSigmaThetaOuter() const { return &fSigmaThetaOuter; }
     67    const TH2D *GetSigmaTheta() { return fSigmaTheta; }
     68    const TH2D *GetSigmaTheta() const { return fSigmaTheta; }
    5869
    59     const TH3D *GetSigmaPixTheta() { return &fSigmaPixTheta; }
    60     const TH3D *GetSigmaPixTheta() const { return &fSigmaPixTheta; }
     70    const TH2D *GetSigmaThetaOuter() { return fSigmaThetaOuter; }
     71    const TH2D *GetSigmaThetaOuter() const { return fSigmaThetaOuter; }
    6172
    62     const TH3D *GetDiffPixTheta() { return &fDiffPixTheta; }
    63     const TH3D *GetDiffPixTheta() const { return &fDiffPixTheta; }
     73    const TH3D *GetSigmaPixTheta() { return fSigmaPixTheta; }
     74    const TH3D *GetSigmaPixTheta() const { return fSigmaPixTheta; }
     75
     76    const TH3D *GetDiffPixTheta() { return fDiffPixTheta; }
     77    const TH3D *GetDiffPixTheta() const { return fDiffPixTheta; }
    6478
    6579    void Draw(Option_t *option="");
Note: See TracChangeset for help on using the changeset viewer.