Ignore:
Timestamp:
05/09/03 13:34:33 (22 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mhist
Files:
3 edited

Legend:

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

    r1668 r2106  
    108108    fEdges.Set(nbins+1);
    109109    for (int i=0; i<=nbins; i++)
    110         fEdges[i] = (acos(binsize*i) + ld)*kRad2Deg;
     110        fEdges[i] = acos(cos(ld)-binsize*i)*kRad2Deg;
    111111
    112112    fType = kIsCosinic;
  • trunk/MagicSoft/Mars/mhist/MHSigmaTheta.cc

    r2090 r2106  
    6565//
    6666MHSigmaTheta::MHSigmaTheta(const char *name, const char *title)
    67     : fSigmaTheta(), fSigmaPixTheta()
    6867{
    6968    fName  = name  ? name  : "MHSigmaTheta";
     
    7271    fSigmaTheta.SetDirectory(NULL);
    7372    fSigmaTheta.SetName("2D-ThetaSigmabar");
    74     fSigmaTheta.SetTitle("2D: Sigmabar, \\Theta");
     73    fSigmaTheta.SetTitle("2D: \\bar{\\sigma}, \\Theta");
    7574    fSigmaTheta.SetXTitle("\\Theta [\\circ]");
    76     fSigmaTheta.SetYTitle("Sigmabar");
     75    fSigmaTheta.SetYTitle("\\bar{\\sigma}");
    7776
    7877    fSigmaPixTheta.SetDirectory(NULL);
    7978    fSigmaPixTheta.SetName("3D-ThetaPixSigma");
    80     fSigmaPixTheta.SetTitle("3D : \\Theta, Pixel Id, Sigma");
     79    fSigmaPixTheta.SetTitle("3D: \\Theta, Pixel Id, \\sigma");
    8180    fSigmaPixTheta.SetXTitle("\\Theta [\\circ]");
    8281    fSigmaPixTheta.SetYTitle("Pixel Id");
    83     fSigmaPixTheta.SetZTitle("Sigma");
     82    fSigmaPixTheta.SetZTitle("\\sigma");
    8483
    8584    fDiffPixTheta.SetDirectory(NULL);
    8685    fDiffPixTheta.SetName("3D-ThetaPixDiff");
    87     fDiffPixTheta.SetTitle("3D : \\Theta, Pixel Id, Sigma^2-Sigmabar^2");
     86    fDiffPixTheta.SetTitle("3D: \\Theta, Pixel Id, {\\sigma}^{2}-\\bar{\\sigma}^{2}");
    8887    fDiffPixTheta.SetXTitle("\\Theta [\\circ]");
    8988    fDiffPixTheta.SetYTitle("Pixel Id");
    90     fDiffPixTheta.SetZTitle("Sigma^2-Sigmabar^2");
    91 }
    92 // --------------------------------------------------------------------------
    93 //
    94 // Default Destructor
    95 //
    96 MHSigmaTheta::~MHSigmaTheta()
    97 {
    98 
     89    fDiffPixTheta.SetZTitle("{\\sigma}^{2}-\\bar{\\sigma}^{2}");
     90
     91    // Set default binning
     92    // FIXME: Maybe ist's necessary to adapt the value to the
     93    // Magic default values
     94    MBinning binsb;
     95    MBinning binst;
     96    MBinning binsd;
     97    binsd.SetEdges(100, -5, 20);
     98    binsb.SetEdges(100, 0, 5);
     99    binst.SetEdgesCos(10, 0, 90);
     100
     101    MBinning binspix("BinningPixel");
     102    binspix.SetEdges(577, -0.5, 577.5);
     103
     104    SetBinning(&fSigmaTheta,    &binst, &binsb);
     105    SetBinning(&fSigmaPixTheta, &binst, &binspix, &binsb);
     106    SetBinning(&fDiffPixTheta,  &binst, &binspix, &binsd);
    99107}
    100108
     
    105113Bool_t MHSigmaTheta::SetupFill(const MParList *plist)
    106114{
    107 
    108   fMcEvt = (MMcEvt*)plist->FindObject("MMcEvt");
    109   if (!fMcEvt)
    110     {
    111        *fLog << err << "MMcEvt not found... aborting." << endl;
    112        return kFALSE;
    113      }
    114  
    115    fPed = (MPedestalCam*)plist->FindObject("MPedestalCam");
    116    if (!fPed)
    117      {
    118        *fLog << err << "MPedestalCam not found... aborting." << endl;
    119        return kFALSE;
    120      }
    121  
    122    fCam = (MGeomCam*)plist->FindObject("MGeomCam");
    123    if (!fCam)
    124      {
    125        *fLog << err << "MGeomCam not found (no geometry information available)... aborting." << endl;
    126        return kFALSE;
    127      }
    128  
    129    fEvt = (MCerPhotEvt*)plist->FindObject("MCerPhotEvt");
    130    if (!fEvt)
    131      {
    132        *fLog << err << "MCerPhotEvt not found... aborting." << endl;
    133        return kFALSE;
    134      }
    135 
    136      fSigmabar = (MSigmabar*)plist->FindObject("MSigmabar");
    137    if (!fSigmabar)
    138      {
    139        *fLog << err << "MSigmabar not found... aborting." << endl;
    140        return kFALSE;
    141      }
    142 
    143    // Get Theta Binning 
    144    MBinning* binstheta  = (MBinning*)plist->FindObject("BinningTheta");
    145    if (!binstheta)
    146      {
    147        *fLog << err << "BinningTheta [MBinning] not found... aborting." << endl;
    148        return kFALSE;     
    149      }
    150 
    151    // Get Sigmabar binning 
    152    MBinning* binssigma = (MBinning*)plist->FindObject("BinningSigmabar");
    153    if (!binssigma)
    154      {
    155        *fLog << err << "BinningSigmabar [MBinning] not found... aborting." << endl;
    156        return kFALSE;     
    157      }
    158 
    159    // Get binning for (sigma^2-sigmabar^2) 
    160    MBinning* binsdiff  = (MBinning*)plist->FindObject("BinningDiffsigma2");
    161    if (!binsdiff)
    162      {
    163        *fLog << err << "BinningDiffsigma2 [MBinning] not found... aborting." << endl;
    164        return kFALSE;     
    165      }
    166 
    167 
    168    // Set binnings in histograms
    169    SetBinning(&fSigmaTheta, binstheta, binssigma);
    170 
    171    // Get binning for pixel number
    172    const UInt_t npix = fPed->GetSize();
    173 
    174    MBinning binspix("BinningPixel");
    175    binspix.SetEdges(npix+1, -0.5, 0.5+npix );
    176 
    177    SetBinning(&fSigmaPixTheta, binstheta, &binspix, binssigma);
    178    SetBinning(&fDiffPixTheta,  binstheta, &binspix, binsdiff);
    179 
    180    return kTRUE;
     115    fMcEvt = (MMcEvt*)plist->FindObject("MMcEvt");
     116    if (!fMcEvt)
     117    {
     118        *fLog << err << "MMcEvt not found... aborting." << endl;
     119        return kFALSE;
     120    }
     121
     122    fPed = (MPedestalCam*)plist->FindObject("MPedestalCam");
     123    if (!fPed)
     124    {
     125        *fLog << err << "MPedestalCam not found... aborting." << endl;
     126        return kFALSE;
     127    }
     128
     129    fCam = (MGeomCam*)plist->FindObject("MGeomCam");
     130    if (!fCam)
     131    {
     132        *fLog << err << "MGeomCam not found (no geometry information available)... aborting." << endl;
     133        return kFALSE;
     134    }
     135
     136    fEvt = (MCerPhotEvt*)plist->FindObject("MCerPhotEvt");
     137    if (!fEvt)
     138    {
     139        *fLog << err << "MCerPhotEvt not found... aborting." << endl;
     140        return kFALSE;
     141    }
     142
     143    fSigmabar = (MSigmabar*)plist->FindObject("MSigmabar");
     144    if (!fSigmabar)
     145    {
     146        *fLog << err << "MSigmabar not found... aborting." << endl;
     147        return kFALSE;
     148    }
     149
     150    // Get Theta Binning
     151    MBinning* binstheta  = (MBinning*)plist->FindObject("BinningTheta", "MBinning");
     152    if (!binstheta)
     153    {
     154        *fLog << warn << "Object 'BinningTheta' [MBinning] not found... no binning applied." << endl;
     155        return kTRUE;
     156    }
     157
     158    // Get Sigmabar binning
     159    MBinning* binssigma = (MBinning*)plist->FindObject("BinningSigmabar", "MBinning");
     160    if (!binssigma)
     161        *fLog << warn << "Object 'BinningSigmabar' [MBinning] not found... no binning applied." << endl;
     162
     163    // Get binning for (sigma^2-sigmabar^2)
     164    MBinning* binsdiff  = (MBinning*)plist->FindObject("BinningDiffsigma2", "MBinning");
     165    if (!binsdiff)
     166        *fLog << warn << "Object 'BinningDiffsigma2' [MBinning] not found... no binning applied." << endl;
     167
     168    //FIXME: Missing: Apply new binning to only one axis!
     169
     170    // Get binning for pixel number
     171    const UInt_t npix = fPed->GetSize();
     172
     173    MBinning binspix("BinningPixel");
     174    binspix.SetEdges(npix, -0.5, 0.5+npix);
     175
     176    // Set binnings in histograms
     177    if (binssigma)
     178    {
     179        SetBinning(&fSigmaTheta, binstheta, binssigma);
     180        SetBinning(&fSigmaPixTheta, binstheta, &binspix, binssigma);
     181    }
     182
     183    if (binsdiff)
     184        SetBinning(&fDiffPixTheta,  binstheta, &binspix, binsdiff);
     185
     186    return kTRUE;
    181187}
    182188
     
    221227void MHSigmaTheta::Draw(Option_t *opt)
    222228{
    223     TVirtualPad *pad = gPad ? gPad : MakeDefCanvas(this, 900, 900);
     229    TVirtualPad *pad = gPad ? gPad : MakeDefCanvas(this);
    224230    pad->SetBorderMode(0);
    225231
     
    233239    pad->cd(1);
    234240    gPad->SetBorderMode(0);
    235     gPad->SetLogy();
     241    // gPad->SetLogy();
    236242    h = fSigmaTheta.ProjectionX("ProjX-Theta", -1, 9999, "E");
    237243    h->SetDirectory(NULL);
  • trunk/MagicSoft/Mars/mhist/MHSigmaTheta.h

    r2049 r2106  
    4040public:
    4141    MHSigmaTheta(const char *name=NULL, const char *title=NULL);
    42     ~MHSigmaTheta();
    4342
    4443    Bool_t SetupFill(const MParList *plist);
Note: See TracChangeset for help on using the changeset viewer.