TrackDirection2Module
#include "TrackDirection2Module.hh" |
TrackDirection2Module
class description - source file - inheritance tree (.pdf)
class TrackDirection2Module : public RecoModule
Inheritance Chart: | |||||||||||||||
|
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)