5#ifndef CBMRICHCORRECTION_H
6#define CBMRICHCORRECTION_H
17#include "TGeoNavigator.h"
50 virtual InitStatus
Init();
55 virtual void Exec(Option_t* option);
72 void GetPmtNormal(Int_t NofPMTPoints, vector<Double_t>& normalPMT, Double_t& normalCste);
82 void GetMirrorIntersection(vector<Double_t>& ptM, vector<Double_t> ptR1, vector<Double_t> momR1, vector<Double_t> ptC,
83 Double_t sphereRadius);
92 vector<Double_t>
RotateSphereCenter(vector<Double_t> ptM, vector<Double_t> ptC, TGeoNavigator* navi);
98 void InvertMatrix(Double_t mat[3][3], Double_t invMat[3][3], TGeoNavigator* navi);
112 void ComputeR2(vector<Double_t>& ptR2Center, vector<Double_t>& ptR2Mirr, vector<Double_t> ptM, vector<Double_t> ptC,
113 vector<Double_t> ptR1, TGeoNavigator* navi, TString s);
120 void ComputeP(vector<Double_t>& ptPMirr, vector<Double_t>& ptPR2, vector<Double_t> normalPMT, vector<Double_t> ptM,
121 vector<Double_t> ptR2Mirr, Double_t normalCste);
126 void FillHistProjection(TVector3 outPosIdeal, TVector3 outPosUnCorr, TVector3 outPos, Int_t NofGlobalTracks,
127 vector<Double_t> normalPMT, Double_t constantePMT);
RICH geometry parameters for the reconstruction. This class is used for convinient storing of the bas...
Here the ring is fitted with the COP algorithm from A. Ayriyan/G. Ososkov.
Here the ring is fitted with Taubin algorithm from A. Ayriyan, G. Ososkov, N. Chernov.
TClonesArray * fGlobalTracks
void InvertMatrix(Double_t mat[3][3], Double_t invMat[3][3], TGeoNavigator *navi)
void SetIsReconstruction(Bool_t b)
ClassDef(CbmRichCorrection, 1)
vector< Double_t > RotateSphereCenter(vector< Double_t > ptM, vector< Double_t > ptC, TGeoNavigator *navi)
void SetTileName(TString t)
virtual void Finish()
Inherited from FairTask.
void FillHistProjection(TVector3 outPosIdeal, TVector3 outPosUnCorr, TVector3 outPos, Int_t NofGlobalTracks, vector< Double_t > normalPMT, Double_t constantePMT)
TClonesArray * fRichRingMatches
CbmRichCorrection(const CbmRichCorrection &)
TClonesArray * fRichPoints
TClonesArray * fRichMirrorPoints
void DrawHistProjection()
TClonesArray * fRichProjections
TClonesArray * fRichRefPlanePoints
void ComputeP(vector< Double_t > &ptPMirr, vector< Double_t > &ptPR2, vector< Double_t > normalPMT, vector< Double_t > ptM, vector< Double_t > ptR2Mirr, Double_t normalCste)
virtual void Exec(Option_t *option)
Inherited from FairTask.
TClonesArray * fRichRings
void CalculateMirrorIntersection(vector< Double_t > ptM, vector< Double_t > ptCUnCorr, vector< Double_t > &ptMNew)
void GetPmtNormal(Int_t NofPMTPoints, vector< Double_t > &normalPMT, Double_t &normalCste)
void GetMeanSphereCenter(TGeoNavigator *navi, vector< Double_t > &ptC)
virtual InitStatus Init()
Inherited from FairTask.
void SetAxisRotTitle(TString title)
virtual ~CbmRichCorrection()
void GetMirrorIntersection(vector< Double_t > &ptM, vector< Double_t > ptR1, vector< Double_t > momR1, vector< Double_t > ptC, Double_t sphereRadius)
void SetRunTitle(TString title)
void ProjectionProducer()
void SetOutputDir(TString dir)
void InitHistProjection()
void SetNumbAxis(TString n)
void SetDrawProjection(Bool_t b)
void ComputeR2(vector< Double_t > &ptR2Center, vector< Double_t > &ptR2Mirr, vector< Double_t > ptM, vector< Double_t > ptC, vector< Double_t > ptR1, TGeoNavigator *navi, TString s)
CbmRichCorrection operator=(const CbmRichCorrection &)
static const int kMAX_NOF_HITS
CbmRichRingFitterCOP * fCopFit
void DrawHistFromFile(TString fileName)
TClonesArray * fRichMCPoints
CbmRichRingFitterEllipseTau * fTauFit
Here the ring is fitted with the COP algorithm from A. Ayriyan/G. Ososkov.
Here the ring is fitted with Taubin algorithm from A. Ayriyan, G. Ososkov, N. Chernov.