Universita' di GenovaINFN Sezione di Genova  
AIRWATCH / EUSO Genova

TrackDirection2Module

#include "TrackDirection2Module.hh"

TrackDirection2Module


class description - source file - inheritance tree (.pdf)

class TrackDirection2Module : public RecoModule

Inheritance Chart:
EsafConfigurable
EsafMsgSource
<-
RecoModule
<-
TrackDirection2Module
    private:
void AA1() void AA2() void AE1() void all() void CalculatefromBetaEASdir() Double_t CalculateRmax(Double_t hmax) Double_t DeltaX(Double_t, Double_t, Double_t, Double_t) Double_t DeltaY(Double_t, Double_t, Double_t, Double_t) void DoStat(vector<Double_t> err, string namemethod) Double_t FindHmax(Double_t theta) void FindPlane() void NE1() void NE2() void UseHoughandFindPlane() void UseShapeandFindPlane() public:
TrackDirection2Module() virtual ~TrackDirection2Module() static TClass* Class() virtual const char* ClassName() const virtual const char* ClassType() const virtual Bool_t Done() virtual Bool_t Init() virtual TClass* IsA() const virtual Bool_t PostProcess() virtual Bool_t PreProcess() virtual Bool_t Process(RecoEvent*) virtual Bool_t SaveRootData(RecoRootEvent*) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) virtual void UserMemoryClean()

Data Members

    private:
RecoEvent* fEv vector<Int_t> fPointsId vector<Double_t> vecDeltaEASDir vector<Double_t> vecDeltaEASDirAA1 vector<Double_t> vecDeltaEASDirAA2 vector<Double_t> vecDeltaEASDirNE1 vector<Double_t> vecDeltaEASDirNE2 vector<Double_t> vecDeltaEASDirAE1 vector<Double_t> vecDeltaTDP Int_t fNumPoints Int_t fNumHits Int_t fNumPointsSel Int_t fNumHitsSel Int_t fQuality Int_t fRecoEventsCounter TVector3 fCentroid TVector3 fNorm TVector3 fNormsel TVector3 fW TVector3 fU TVector3 fTrueDir TVector3 fTrueNorm TVector3 fTrueMax TVector3 fEASDir Double_t fAngularSpeed Double_t fBeta Double_t fBetaInit Double_t fHmax Double_t fRmax Double_t fTrueTheta Double_t fTruePhi Double_t fTHETAloc Double_t fTHETAreco Double_t fPHIreco Double_t fTmaxFit Double_t fDeltaTheta Double_t fDeltaPhi Double_t fDeltaEASDir Double_t fDeltaTDP Double_t fDeltaEASDirAA1 Double_t fTHETArecoAA1 Double_t fPHIrecoAA1 Double_t fDeltaEASDirAA2 Double_t fTHETArecoAA2 Double_t fPHIrecoAA2 Double_t fDeltaEASDirNE1 Double_t fTHETArecoNE1 Double_t fPHIrecoNE1 Double_t fDeltaEASDirNE2 Double_t fTHETArecoNE2 Double_t fPHIrecoNE2 Double_t fDeltaEASDirAE1 Double_t fTHETArecoAE1 Double_t fPHIrecoAE1 Int_t fNumPointsMin Int_t fNumHitsMinimum Bool_t fDoGraphUseShape Bool_t fDoHough Bool_t fOptionSelectionHough Double_t fErrAngle Double_t fHISS space station altitude Bool_t fDoShapeSelection Bool_t fUseShapeSelectioninModules Int_t fMethodIdentifier Bool_t fFixTmaxNumeric Bool_t fAA1done true if the AA1module is already done Bool_t fAA1nan true if the AA1 method returns a nan Float_t fStat1 Float_t fStat2 Float_t fMulti1 Float_t fMulti2 Bool_t useLFplane Bool_t useMFplane Bool_t useHFplane fit method for TDP Bool_t useLFaa1 Bool_t useMFaa1 Bool_t useHFaa1 fit method in AA1 Bool_t fDebugInfo if true compute and display some debug infos Double_t fGtuLength Int_t fMinuitOutputLevel output level for TMinuit public:
ContainerData fData

Class Description

 TrackDirection2Module

 This module is devoted to the reconstruction of the shower direction.
 It implements some different algorithms (descibed in detail in ....)
 Essentially the module keeps the points found by pattern recogniton
 (clustering or Hough transform) and first find the plane that contains the
 track and the detector (TDP).
 The reserarch of TDP can be done in the following ways:
     - further selection of points with hough transform
     - further selection of points with shape selection method
     - no further selection
 In each case the TDP is founded by a fit (least squares, median or hough)
 of the x-t, y-t projections of points on the plane z=0.

 Then the shower direction is reconstructed by one of the following methods:
     - analytical approximated 1 AA1()
     - analytical approximated 2 AA2()
     - numerical exact 1 NE1()
     - numerical exact 2 NE2()
     - analytical exact 1 AE1()

 The AA1() method is in each case used in order to initialize the fit for all
 other methods.

   Config file parameters
   ======================

   fNumHitsMinimum : minimum number of hits per pixel in a GTU
   fNumPointsMinimum : minimum number of points to proceed with reconstruction
   fUseHough [bool] : use hough trasnform to find the TDP
   fUseHoughwithselection [bool] : use the points selected with Hough transform
                                   in the reconstruction of direction
   fUseShape [bool] : use shape selection method to find the TDP
   fUseShapeInModules [bool] : use the points selected with shape selction
                               in the reconstruction of direction
   fDebugInfo [bool] : compute and display some debug informations

   fMulti1 : multiplier for shape selection method
   fMulti2 : multiplier for shape selection method

   fAA1FitMethod : fit method for AA1 algorithm
   - Valid options : linear (least squares fit)
                     median (median fit)
                     hough  (hough fit)

   fMethod : direction reconstruction method
   - Valid options : AA1 || AA2 || NE1 || NE2 || AE1 (single algorithm)
                     all                             (executes all algorithms)

   fFixTmaxNumeric [bool] : fix shower maximum parameters in numerical fits
   fErrAngle : angular error [deg]

   fStat1 : angular error [deg] value 1 for statistics
   fStat2 : angular error [deg] value 2 for statistics
   - Statistics are made between 0 < err < fStat1 and fStat1 < err < fStat2

   fDoGraphUseShape [bool] : save some debug graph in rootfile

   fMinuitOutputLevel : set the MINUIT output display level


TrackDirection2Module() : RecoModule("TrackDirection2")
 ctor


~TrackDirection2Module()
 dtor


Bool_t Init()
 Initialization of variables


Bool_t PreProcess()
 Pre-process of the reco event


Bool_t Process(RecoEvent *ev)

Bool_t PostProcess()
 Post-processing method


Bool_t Done()
 Module done method. Do some statistics about the renconstructed events


void DoStat(vector<Double_t> err, string namemethod)
 Statistics of reconstructed events.


void UserMemoryClean()
 User memory clean


Bool_t SaveRootData(RecoRootEvent *fRecoRootEvent)
 Save data in the reco rootfile


void UseHoughandFindPlane()
 Find track-detector plane (TDP) using Hough Transform


void FindPlane()
 Find the track-detector plane (TDP)


void UseShapeandFindPlane()
 Find the track-detector plane (TDP) using the shape method


void AA1()
 ANALITIC APPROXIMATED 1 method.
 Shower constant angular velocity of the shower approximation.
 This method initialize the parameters for other all fit methods.


void AA2()
 ANALYTIC APPROXIMATED 2 method.
 Approximation: Shower velocity on a plane perpendicular to the detector
                axis is constant


void NE1()
 NUMERICAL EXACT 1 method
 Chi-square minimization of the difference between arrival times of photons
 measured and teoretically computed


void NE2()
 NUMERICAL EXACT 2 method
 Chi-square minimization of angle between the versors of pixels in FOV
 and the corresponding vectors from points of the track and the detector


void AE1()
 ANALYTICAL EXACT 1 method
 Fit using exact relations between pixel directions in FOV and photons
 arrival times. This method doesn't require the knowledge of the TDP.


void all()
 Execute all methods for reconstructing the shower direction.


void CalculatefromBetaEASdir()
 Calculate vector of EAS direction using angle fBeta
 and the equation of TrackDirectionPlane


Double_t FindHmax( Double_t theta )
 Find Hmax with the Linsley parametrization of the atmosphere
 depending on the zenith angle of the shower and the value of Xmax
 (fixed value is only a first approximation).


Double_t CalculateRmax( Double_t hmax )
 Method to geometrically find Rmax using Hmax and the versor pointing
 to the maximum of the shower


Double_t DeltaX( Double_t theta, Double_t phi, Double_t errtheta, Double_t errphi )
 Calculate error on X projection on the focal surface of a given point
 on the unitary sphere


Double_t DeltaY( Double_t theta, Double_t phi, Double_t errtheta, Double_t errphi )
 Calculate error on Y projection on the focal surface of a given point
 on the unitary sphere




Inline Functions


        const char* ClassType() const
        const char* ClassName() const
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
About Us | EUSO Official Website | Web pages created by Roberto Pesce and Alessandro Thea - Last Update Wed Nov 16 16:28:36 2005