Ignore:
Timestamp:
04/02/01 11:53:16 (24 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/manalysis
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/manalysis/AnalysisIncl.h

    r695 r715  
    11#ifndef __CINT__
    22
    3 #include <TClonesArray.h>
    4 
    5 #include "MParContainer.h"
    6 #include "MCamNeighbor.h"
    7 
    83#endif // __CINT__
  • trunk/MagicSoft/Mars/manalysis/MCerPhotEvt.cc

    r698 r715  
    88
    99#include "MLog.h"
    10 #include "MCamNeighbor.h"
    11 #include "MCamDisplay.h"
    1210#include "MHexagon.h"
     11#include "MCerPhotPix.h"
    1312
    1413ClassImp(MCerPhotEvt)
     
    2928  fPixels->Clear();
    3029}
    31 
    32 #include "MGeomCamMagic.h"
    33 #include "MGeomCamCT1.h"
    3430
    3531void MCerPhotEvt::Draw(Option_t* option)
     
    7975        (*this)[il].Print();
    8076}
    81 
    82 /*
    83 void MCerPhotEvt::CleanLevel1()
    84 {
    85     //
    86     //  This method looks for all pixels with an entry (photons)
    87     //  that is three times bigger than the noise of the pixel
    88     //
    89 
    90     const Int_t entries = fPixels->GetEntries();
    91 
    92     //
    93     // check the number of all pixels against the noise level and
    94     // set them to 'unused' state if necessary
    95     //
    96     for (Int_t il=0; il<entries; il++ )
    97     {
    98         MCerPhotPix &pix = (*this)[il];
    99 
    100         const Float_t entry = pix.GetNumPhotons();
    101         const Float_t noise = pix.GetErrorPhot();
    102 
    103         if (entry < 3 * noise )
    104             pix.SetPixelUnused();
    105     }
    106 }
    107 
    108 void MCerPhotEvt::CleanLevel2()
    109 {
    110     //
    111     //  check if the  survived pixel have a neighbor, that also
    112     //  survived
    113     //
    114 
    115     const Int_t entries = fPixels->GetEntries();
    116 
    117     for (Int_t il=0; il<entries; il++)
    118     {
    119         //
    120         // get entry il from list
    121         //
    122         MCerPhotPix &pix = (*this)[il];
    123 
    124         //
    125         // check if pixel is in use, if not goto next pixel in list
    126         //
    127         if (!pix.IsPixelUsed())
    128             continue;
    129 
    130         //
    131         // get pixel id of this entry
    132         //
    133         const Int_t id = pix.GetPixId() ;
    134 
    135         //
    136         // count number of next neighbors of this pixel which
    137         // state is 'used'
    138         //
    139         Int_t itest = 0 ;
    140         for (Int_t in=0 ; in < 6; in++ )
    141         {
    142             const Int_t id2 = fNN.GetNN(id, in) ;
    143 
    144             if (id2 < 0)
    145                 continue;
    146 
    147             if (IsPixelUsed(id2))
    148                 itest++ ;
    149         }
    150 
    151         //
    152         // check if no next neighbor has the state 'used'
    153         // set this pixel to 'unused', too.
    154         //
    155         if (itest==0)
    156             pix.SetPixelUnused();
    157     }
    158 
    159     //
    160     // now we declare all pixels that survive as CorePixels
    161     //
    162     for (Int_t il=0; il<entries; il++)
    163     {
    164         MCerPhotPix &pix = (*this)[il];
    165 
    166         if (pix.IsPixelUsed())
    167             pix.SetCorePixel();
    168     }
    169 
    170 }
    171 
    172 void MCerPhotEvt::CleanLevel3()
    173 {
    174     //
    175     //   Look for the boundary pixels around the core pixels
    176     //   if a pixel has more than 2.5 sigma, and a core neigbor
    177     //   it is declared as used.
    178     //
    179     const Int_t entries = fPixels->GetEntries();
    180 
    181     for (Int_t il=0; il<entries; il++)
    182     {
    183         //
    184         // get pixel as entry il from list
    185         //
    186         MCerPhotPix &pix = (*this)[il];
    187 
    188         //
    189         // if pixel is a core pixel go to the next pixel
    190         //
    191         if (pix.IsCorePixel())
    192             continue;
    193 
    194         //
    195         // check the num of photons against the noise level
    196         //
    197         const Float_t entry = pix.GetNumPhotons();
    198         const Float_t noise = pix.GetErrorPhot();
    199 
    200         if (entry <= 2.5 * noise )
    201             continue;
    202 
    203         //
    204         // get pixel id of this entry
    205         //
    206         const Int_t id = pix.GetPixId();
    207 
    208         //
    209         // check if the pixel's next neighbor is a core pixel.
    210         // if it is a core pixel set pixel state to: used.
    211         //
    212         for (Int_t in=0; in<6 ; in++)
    213         {
    214             const Int_t id2 = fNN.GetNN(id, in);
    215 
    216             if (id2 <0)
    217                 continue;
    218 
    219             if (!IsPixelCore(id2))
    220                 continue;
    221 
    222             pix.SetPixelUsed();
    223 
    224             break ;
    225         }
    226     }
    227 }
    228 */
    22977
    23078Bool_t MCerPhotEvt::IsPixelExisting(Int_t id)
  • trunk/MagicSoft/Mars/manalysis/MCerPhotEvt.h

    r698 r715  
    1111#include "MParContainer.h"
    1212#endif
    13 #ifndef MCAMNEIGHBOR_H
    14 #include "MCamNeighbor.h"
    15 #endif
    1613
    1714class MCerPhotPix;
     
    2017{
    2118private:
    22 
    23     UInt_t         fNumPixels;
     19    UInt_t        fNumPixels;
    2420    TClonesArray *fPixels;
    25 
    26     MCamNeighbor  fNN;   //! the class with the information about neighbors
    2721
    2822public:
  • trunk/MagicSoft/Mars/manalysis/MImgCleanStd.cc

    r698 r715  
    55
    66#include "MParList.h"
     7#include "MGeomCam.h"
    78#include "MCerPhotPix.h"
    89#include "MCerPhotEvt.h"
    9 #include "MCamNeighbor.h"
    1010
    1111ClassImp(MImgCleanStd)
     
    3434    // set them to 'unused' state if necessary
    3535    //
    36     for (Int_t il=0; il<entries; il++ )
    37     {
    38         MCerPhotPix &pix = (*fEvt)[il];
     36    for (Int_t i=0; i<entries; i++ )
     37    {
     38        MCerPhotPix &pix = (*fEvt)[i];
    3939
    4040        const Float_t entry = pix.GetNumPhotons();
     
    5555    const Int_t entries = fEvt->GetNumPixels();
    5656
    57     for (Int_t il=0; il<entries; il++)
     57    for (Int_t i=0; i<entries; i++)
    5858    {
    5959        //
    6060        // get entry il from list
    6161        //
    62         MCerPhotPix &pix = (*fEvt)[il];
     62        MCerPhotPix &pix = (*fEvt)[i];
    6363
    6464        //
     
    7171        // get pixel id of this entry
    7272        //
    73         const Int_t id = pix.GetPixId() ;
     73        const Int_t id = pix.GetPixId();
    7474
    7575        //
     
    7777        // state is 'used'
    7878        //
    79         Int_t itest = 0 ;
    80         for (Int_t in=0 ; in < 6; in++ )
     79        MGeomPix   &gpix  = (*fCam)[id];
     80        const Int_t nnmax = gpix.GetNumNeighbors();
     81
     82        Int_t cnt = 0;
     83        for (Int_t j=0; j<nnmax; j++)
    8184        {
    82             const Int_t id2 = fNN.GetNN(id, in) ;
     85            const Int_t id2 = gpix.GetNeighbor(j); //GetNN(id, in) ;
    8386
    8487            if (id2 < 0)
     
    8689
    8790            if (fEvt->IsPixelUsed(id2))
    88                 itest++ ;
     91                cnt++;
    8992        }
    9093
     
    9396        // set this pixel to 'unused', too.
    9497        //
    95         if (itest==0)
     98        if (cnt==0)
    9699            pix.SetPixelUnused();
    97100    }
     
    100103    // now we declare all pixels that survive as CorePixels
    101104    //
    102     for (Int_t il=0; il<entries; il++)
    103     {
    104         MCerPhotPix &pix = (*fEvt)[il];
     105    for (Int_t i=0; i<entries; i++)
     106    {
     107        MCerPhotPix &pix = (*fEvt)[i];
    105108
    106109        if (pix.IsPixelUsed())
     
    119122    const Int_t entries = fEvt->GetNumPixels();
    120123
    121     for (Int_t il=0; il<entries; il++)
     124    for (Int_t i=0; i<entries; i++)
    122125    {
    123126        //
    124127        // get pixel as entry il from list
    125128        //
    126         MCerPhotPix &pix = (*fEvt)[il];
     129        MCerPhotPix &pix = (*fEvt)[i];
    127130
    128131        //
     
    150153        // if it is a core pixel set pixel state to: used.
    151154        //
    152         for (Int_t in=0; in<6 ; in++)
     155        MGeomPix   &gpix  = (*fCam)[id];
     156        const Int_t nnmax = gpix.GetNumNeighbors();
     157
     158        for (Int_t j=0; j<nnmax; j++)
    153159        {
    154             const Int_t id2 = fNN.GetNN(id, in);
     160            const Int_t id2 = gpix.GetNeighbor(j);
    155161
    156162            if (id2 <0)
     
    173179    //  if not create one and add them to the list
    174180    //
     181    fCam = (MGeomCam*)pList->FindObject("MGeomCam");
     182    if (!fCam)
     183    {
     184        *fLog << dbginf << "MGeomCam not found (no geometry information available)... aborting." << endl;
     185        return kFALSE;
     186    }
     187
    175188    fEvt = (MCerPhotEvt*)pList->FindObject("MCerPhotEvt");
    176     if (fEvt)
    177         return kTRUE;
    178 
    179     *fLog << dbginf << "MCerPhotEvt not found... aborting." << endl;
    180     return kFALSE;
     189    if (!fEvt)
     190    {
     191        *fLog << dbginf << "MCerPhotEvt not found... aborting." << endl;
     192        return kFALSE;
     193    }
     194
     195    return kTRUE;
    181196}
    182197   
  • trunk/MagicSoft/Mars/manalysis/MImgCleanStd.h

    r698 r715  
    88#include "MTask.h"
    99#endif
    10 #ifndef MCAMNEIGHBOR_H
    11 #include "MCamNeighbor.h"
    12 #endif
    1310
     11class MGeomCam;
    1412class MCerPhotEvt;
    1513
     
    1715{
    1816private:
    19     MCamNeighbor  fNN;   //! the class with the information about neighbors
    20 
     17    MGeomCam    *fCam;
    2118    MCerPhotEvt *fEvt;
    2219
Note: See TracChangeset for help on using the changeset viewer.