Changeset 7009


Ignore:
Timestamp:
05/10/05 14:41:37 (20 years ago)
Author:
meyer
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mmuon
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mmuon/MHMuonPar.cc

    r6984 r7009  
    206206    fHistBroad.Draw();
    207207}
    208 /*
    209 TH1 *MHMuonPar::GetHistByName(const TString name)
    210 {
    211     if (name.Contains("Radius", TString::kIgnoreCase))
    212         return &fHistRadius;
    213     if (name.Contains("ArcWidth", TString::kIgnoreCase))
    214         return &fHistArcWidth;
    215     return NULL;
    216 }
    217 */
  • trunk/MagicSoft/Mars/mmuon/MHMuonPar.h

    r6979 r7009  
    1919{
    2020private:
    21     TH1F     fHistRadius;    //
    22     TH1F     fHistArcWidth;  //
     21    TH1F     fHistRadius;    // Radius
     22    TH1F     fHistArcWidth;  // ArcWidth
    2323
    24     TProfile fHistBroad;     // Area of used pixels
    25     TProfile fHistSize;      // [ratio] concentration ratio: sum of the two highest pixels / fSize
     24    TProfile fHistBroad;     // ArcWidth/Radius Vs Radius
     25    TProfile fHistSize;      // MuonSize Vs Radius
    2626
    2727    MMuonSearchPar *fMuonSearchPar; //!
     
    3636    Bool_t Fill(const MParContainer *par, const Stat_t w=1);
    3737
    38     //TH1 *GetHistByName(const TString name);
    39 
    4038    const TH1F&     GetHistRadius() const    { return fHistRadius; }
    4139    const TH1F&     GetHistArcWidth() const  { return fHistArcWidth; }
     
    4543    void Draw(Option_t *opt="");
    4644
    47     ClassDef(MHMuonPar, 1) // Histograms of new image parameters
     45    ClassDef(MHMuonPar, 1)
    4846};
    4947
  • trunk/MagicSoft/Mars/mmuon/MHSingleMuon.cc

    r7003 r7009  
    1616!
    1717!
     18!   Author(s): Keiichi Mase, 10/2004
    1819!   Author(s): Markus Meyer, 02/2005 <mailto:meyer@astro.uni-wuerzburg.de>
    1920!   Author(s): Thomas Bretz, 04/2005 <mailto:tbretz@astro.uni-wuerzburg.de>
     
    2829// MHSingleMuon
    2930//
    30 // This class is a histogram class for a displaying muonparameters.
    31 // The folowing histgrams will be plotted:
    32 // - Radius (TH1F)
    33 // - ArcWidth (TH1F)
     31// This class is a histogram class for displaying the radial (fHistWidth)
     32// and the azimuthal (fHistPhi) intensity distribution for one muon.
     33// You can retrieve the histogram (TH1F) using the function GetHistPhi()
     34// or GetHistWidth().
     35// From these histograms the fraction of the ring segment (ArcPhi) and the
     36// Width of the muon ring (ArcWidth) is calculated.
     37//
     38// First, the radius and center of the ring has to be calculted by
     39// MMuonSearchParCalc
     40// After that the histograms has to be filled in the following way:
     41//
     42// MFillH fillmuon("MHSingleMuon", "", "FillMuon");
     43//
     44// The allowed region to estimate ArcPhi is a certain margin around the
     45// radius. The default value is 0.2 deg (60mm). If the estimated radius
     46// of the arc is 1.0 deg, the pixel contents in the radius range from
     47// 0.8 deg to 1.2 deg are fill in the histogram.
     48//
     49// For ArcPhi only bins over a certain threshold are supposed to be part
     50// of the ring.
     51// For ArcWidth, the same algorithm is used to determine the fit region
     52// for a gaussian fit to the radial intensity distribution. The ArcWidth
     53// is defined as the sigma value of the gaussian fit.
     54//
     55// The binning of the histograms can be changed in the following way:
     56//
     57// MBinning bins1("BinningMuonWidth");
     58// MBinning bins2("BinningArcPhi");
     59// bins1.SetEdges(28, 0.3, 1.7);
     60// bins2.SetEdges(20, -180,180);
     61// plist.AddToList(&bins1);
     62// plist.AddToList(&bins2);
     63//
     64// The values for the thresholds and the margin are saved in MMuonSetup.
     65// They can be easily changed in star.rc.
     66//
     67// Please have in mind, that changes in this basic parameters will change
     68// your results!!
    3469//
    3570// Inputcontainer:
    3671//   - MGeomCam
    3772//   - MMuonSearchPar
    38 //   - MMuonCalibPar
     73//
    3974//
    4075////////////////////////////////////////////////////////////////////////////
     
    319354    f1.SetParameter(0, fHistWidth.GetMaximumBin());
    320355    f1.SetParameter(1, fHistWidth.GetBinCenter(m));
    321     f1.SetParameter(2, (endfitval-startfitval)/2);
     356//    f1.SetParameter(2, (endfitval-startfitval)/2);
     357    f1.SetParameter(2, 0.1);
    322358
    323359    // options : N  do not store the function, do not draw
     
    338374// --------------------------------------------------------------------------
    339375//
    340 //  An impact parameter is calculated by fitting the histogram of photon
     376// An impact parameter is calculated by fitting the histogram of photon
    341377// distribution along the circle with a theoritical model.
    342378// (See G. Vacanti et. al., Astroparticle Physics 2, 1994, 1-11.
    343379// The function (6) is used here.)
    344380//
    345 //  By default this calculation is suppressed because this calculation is
     381// By default this calculation is suppressed because this calculation is
    346382// very time consuming. If you want to calculate an impact parameter,
    347383// you can call the function of EnableImpactCalc().
  • trunk/MagicSoft/Mars/mmuon/MHSingleMuon.h

    r6996 r7009  
    4141    const TH1F &GetHistWidth() const { return fHistWidth; }
    4242
    43     ClassDef(MHSingleMuon, 1) // Histograms of new image parameters
     43    ClassDef(MHSingleMuon, 1)
    4444};
    4545
  • trunk/MagicSoft/Mars/mmuon/MMuonCalibPar.cc

    r6994 r7009  
    6161void MMuonCalibPar::Reset()
    6262{
    63     fArcLength   = -1.;
     63//    fArcLength   = -1.;
    6464    fArcPhi      = -1.;
    6565    fArcWidth    = -1.;
     
    6767    fChiArcWidth = -1.;
    6868    fMuonSize    =  0.;
    69     fEstImpact   = -1.;
     69//    fEstImpact   = -1.;
    7070    fPeakPhi     =  0.;
    7171}
     
    7575    *fLog << all;
    7676    *fLog << "Muon Parameters (" << GetName() << ")"       << endl;
    77     *fLog << " - Arc Length    [deg]   = " << fArcLength   << endl;
     77//    *fLog << " - Arc Length    [deg]   = " << fArcLength   << endl;
    7878    *fLog << " - Arc Phi       [deg]   = " << fArcPhi      << endl;
    7979    *fLog << " - Arc Width     [deg]   = " << fArcWidth    << endl;
    8080    *fLog << " - Chi Arc Phi   [x2/ndf]= " << fChiArcPhi   << endl;
    8181    *fLog << " - Chi Arc Width [x2/ndf]= " << fChiArcWidth << endl;
    82     *fLog << " - Est. I. P.    [m]     = " << fEstImpact   << endl;
     82//    *fLog << " - Est. I. P.    [m]     = " << fEstImpact   << endl;
    8383    *fLog << " - Size of muon  [phe]   = " << fMuonSize    << endl;
    8484    *fLog << " - Peak Phi      [deg]   = " << fPeakPhi     << endl;
  • trunk/MagicSoft/Mars/mmuon/MMuonCalibPar.h

    r6979 r7009  
    1616{
    1717private:
    18     Float_t fArcLength;     // An arc length of a muon along the arc [deg.]
     18//    Float_t fArcLength;     // An arc length of a muon along the arc [deg.]
    1919    Float_t fArcPhi;        // A opening angle of a muon arc [deg.]
    2020    Float_t fArcWidth;      // A width of a muon [deg.] (1 sigma of gaussian fit)
     
    2222    Float_t fChiArcWidth;   // A chisquare value of the cosine fit for arc wid
    2323    Float_t fMuonSize;      // A SIZE of muon which is defined as a SIZE around the estimated circle
    24     Float_t fEstImpact;     // An estimated impact parameter from the photon distribution along the arc image
     24//    Float_t fEstImpact;     // An estimated impact parameter from the photon distribution along the arc image
    2525    //Bool_t  fUseUnmap;      // This is a flag to know the Unmapped pixels are used. Refer to the class of MImgCleanStd
    2626    Float_t fPeakPhi;       // The angle which indicates the peak position in the estimated circle
     
    3232    void Reset();
    3333
    34     Float_t GetArcLength()      const { return fArcLength; }
     34//    Float_t GetArcLength()      const { return fArcLength; }
    3535    Float_t GetArcPhi()         const { return fArcPhi; }
    3636    Float_t GetArcWidth()       const { return fArcWidth; }
     
    3838    Float_t GetChiArcWidth()    const { return fChiArcWidth; }
    3939    Float_t GetMuonSize()       const { return fMuonSize; }
    40     Float_t GetEstImpact()      const { return fEstImpact; }
     40//    Float_t GetEstImpact()      const { return fEstImpact; }
    4141    //Bool_t  IsUseUnmap()        const { return fUseUnmap; }
    4242    Float_t GetPeakPhi()        const { return fPeakPhi; }
    43     //  TH1F    *GetHistPhi()       { return fHistPhi; }
    44     //  TH1F    *GetHistWidth()     { return fHistWidth; }
    4543
    46     void    SetArcLength(Float_t len)       { fArcLength = len; }
     44//    void    SetArcLength(Float_t len)       { fArcLength = len; }
    4745    void    SetArcPhi(Float_t phi)          { fArcPhi = phi; }
    4846    void    SetArcWidth(Float_t wid)        { fArcWidth = wid; }
     
    5048    void    SetChiArcWidth(Float_t chi)     { fChiArcWidth = chi; }
    5149    void    SetMuonSize(Float_t size)       { fMuonSize = size; }
    52     void    SetEstImpact(Float_t impact)    { fEstImpact = impact; }
     50//    void    SetEstImpact(Float_t impact)    { fEstImpact = impact; }
    5351    //void    SetUseUnmap()                   { fUseUnmap = kTRUE; }
    5452    void    SetPeakPhi(Float_t phi)         { fPeakPhi = phi; }
  • trunk/MagicSoft/Mars/mmuon/MMuonSearchPar.cc

    r6979 r7009  
    3030// Storage Container for muon
    3131//
    32 //  This class is the container for muon parameters. Actually, the calculation
    33 // is done here. Muons are searched by fitting the image with a circle.
    34 // (This function will be called by using the class of MMuonSearchParCalc.)
    35 // This container especially holds the information of the results of the
    36 // search (fit of a image by a circle).
     32// This class is the container for muon parameters. The calculation
     33// of Radius and center of the ring is done here.
     34// Muons are searched by fitting the image with a circle.
    3735//
    3836//  In order to use further information of muons such as the width of arcs,
    39 // the arc length along it, the muons size. Use the infomation stored in
    40 // MMuonCalibPar. The information will be available by using the task of
     37// the size of the fraction of the ring and the muons size, use the
     38// infomation stored in
     39//
     40// MMuonCalibPar.
     41//
     42// The information will be available by using the task of
     43//
    4144// MMuonCalibParCalc.
    42 //
    43 // --- How to search muons ---
    44 //  (This information is a little bit technical. You can skip to read if you
    45 //   don't need the technical information.)
    46 //
    47 // 1. A temporal center position of a circle is determined by using
    48 //    the Hillas parameters. Assumed that the center position will be on the
    49 //    line which is perpendicular to the longitudinal image axis and the
    50 //    distance from the gravity center of the image to the center position of
    51 //    a ring is approximately 1 deg. (corresponding to the Cherenkov angle.).
    52 //    Therefore, we will have two candidates of the center positions.
    53 //
    54 // 2. Find the ring radius which gives the minimum RMS between the camera
    55 //    images and the estimated circle.
    56 //
    57 // 3. Select one temporal position which gives smaller RMS as a true temporal
    58 //    center position.
    59 //
    60 // 4. Changing the center position of a circle on the camera plane from the
    61 //    determined temporal center position, find the position which gives the
    62 //    minimum RMS of the fit.
    6345//
    6446//
  • trunk/MagicSoft/Mars/mmuon/MMuonSearchParCalc.cc

    r6979 r7009  
    3030// Task to calculate the muon parameters
    3131//
    32 //  This class search for muons and store the information into the container
    33 // of MMuonSearchPar. The actual calculation is done in the class of
    34 // MMuonSearchPar. Please see the manual.
    35 //
    36 //  In order to use further information of muons such as the width of arcs,
    37 // the arc length along it, the muons size. Use the infomation stored in
    38 // MMuonCalibPar. The information will be available by using the task of
    39 // MMuonCalibParCalc.
     32// This class search for muons and store the information into the container
     33// of MMuonSearchPar. Please see the manual for more information.
    4034//
    4135//
  • trunk/MagicSoft/Mars/mmuon/MMuonSetup.cc

    r6986 r7009  
    2828//
    2929// Storage Container for setup parameter for the muon analysis
     30//
     31// - margin
     32// - ThresholdArcWidth
     33// - ThresholdArcPhi
    3034//
    3135/////////////////////////////////////////////////////////////////////////////
  • trunk/MagicSoft/Mars/mmuon/MMuonSetup.h

    r6986 r7009  
    99{
    1010private:
    11     Float_t fMargin;            // [deg] margin to evaluate muons. The defaut value is 60 mm, corresponding to 0.2 deg. This value can be changed by using the function of SetMargin
    12     Float_t fThresholdArcPhi;   // [phe] The threshold value to define arc phi
    13     Float_t fThresholdArcWidth; // [phe] The threshold value to define arc width
     11    Float_t fMargin;            // [deg] margin to evaluate muons. The defaut value is 0.2 deg (60mm)
     12    Float_t fThresholdArcPhi;   // [phe] The threshold value to define ArcPhi
     13    Float_t fThresholdArcWidth; // [phe] The threshold value to define ArcWidth
    1414
    1515    Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print);
Note: See TracChangeset for help on using the changeset viewer.