5#ifndef CbmRichCorrectionVector_H
6#define CbmRichCorrectionVector_H
17#include "TGeoNavigator.h"
50 virtual InitStatus
Init();
55 virtual void Exec(Option_t* option);
95 void FillPMTMapEllipse(
const Char_t* mirr_path, Float_t CenterX, Float_t CenterY);
105 void GetPmtNormal(Int_t NofPMTPoints, vector<Double_t>& normalPMT, Double_t& normalCste);
115 void GetMirrorIntersection(vector<Double_t>& ptM, vector<Double_t> ptR1, vector<Double_t> momR1, vector<Double_t> ptC,
116 Double_t sphereRadius);
123 void ComputeR2(vector<Double_t>& ptR2Center, vector<Double_t>& ptR2Mirr, vector<Double_t> ptM, vector<Double_t> ptC,
124 vector<Double_t> ptR1);
131 void ComputeP(vector<Double_t>& ptPMirr, vector<Double_t>& ptPR2, vector<Double_t> normalPMT, vector<Double_t> ptM,
132 vector<Double_t> ptR2Mirr, Double_t normalCste);
137 void FillHistProjection(TVector3 outPos, TVector3 outPosUnCorr, Int_t NofGlobalTracks, vector<Double_t> normalPMT,
138 Double_t constantePMT);
150 void DrawFit(vector<Double_t>& outputFit, Int_t thresh);
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.
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)
TClonesArray * fRichMCPoints
CbmRichCorrectionVector operator=(const CbmRichCorrectionVector &)
std::map< string, string > fPathsMapEllipse
void CalculateAnglesAndDrawDistrib()
void SetRunTitle(TString title)
std::map< string, string > fPathsMap
void DrawHistFromFile(TString fileName)
void GetTrackPosition(Double_t &x, Double_t &y)
TClonesArray * fRichRings
virtual void Exec(Option_t *option)
Inherited from FairTask.
void FillPMTMapEllipse(const Char_t *mirr_path, Float_t CenterX, Float_t CenterY)
TClonesArray * fRichProjections
void FillHistProjection(TVector3 outPos, TVector3 outPosUnCorr, Int_t NofGlobalTracks, vector< Double_t > normalPMT, Double_t constantePMT)
CbmRichRingFitterCOP * fCopFit
CbmRichCorrectionVector()
void SetOutputDir(TString dir)
virtual ~CbmRichCorrectionVector()
void GetMeanSphereCenter(TGeoNavigator *navi, vector< Double_t > &ptC)
TClonesArray * fRichPoints
virtual InitStatus Init()
Inherited from FairTask.
ClassDef(CbmRichCorrectionVector, 1)
void SetDrawAlignment(Bool_t b)
static const int kMAX_NOF_HITS
void InitHistProjection()
void ComputeR2(vector< Double_t > &ptR2Center, vector< Double_t > &ptR2Mirr, vector< Double_t > ptM, vector< Double_t > ptC, vector< Double_t > ptR1)
void SetAxisRotTitle(TString title)
TClonesArray * fGlobalTracks
CbmRichCorrectionVector(const CbmRichCorrectionVector &)
CbmRichRingFitterEllipseTau * fTauFit
virtual void Finish()
Inherited from FairTask.
void DrawHistProjection()
void GetMirrorIntersection(vector< Double_t > &ptM, vector< Double_t > ptR1, vector< Double_t > momR1, vector< Double_t > ptC, Double_t sphereRadius)
void DrawFit(vector< Double_t > &outputFit, Int_t thresh)
void SetIsReconstruction(Bool_t b)
TClonesArray * fRichRefPlanePoints
void FillPMTMap(const Char_t *mirr_path, CbmRichPoint *pPoint)
TClonesArray * fRichRingMatches
void ProjectionProducer(TClonesArray *projectedPoint)
void GetPmtNormal(Int_t NofPMTPoints, vector< Double_t > &normalPMT, Double_t &normalCste)
TClonesArray * fRichMirrorPoints
void SetDrawProjection(Bool_t b)
void SetDrawMapping(Bool_t b)
void RotateAndCopyHitsToRingLight(const CbmRichRing *ring1, CbmRichRingLight *ring2)
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.