5#ifndef CBMRICHMIRRORSORTINGCORRECTION_H
6#define CBMRICHMIRRORSORTINGCORRECTION_H
15#include "FairTrackParam.h"
16#include "TGeoNavigator.h"
37 virtual InitStatus
Init();
46 virtual void Exec(Option_t* option);
48 void GetPmtNormal(Int_t NofPMTPoints, vector<Double_t>& normalPMT, Double_t& normalCste);
50 void ComputeR2(vector<Double_t>& ptR2Center, vector<Double_t>& ptR2Mirr, vector<Double_t> ptM, vector<Double_t> ptC,
51 vector<Double_t> ptR1, TGeoNavigator* navi, TString option, TString mirrorTileName);
53 void ComputeP(vector<Double_t>& ptPMirr, vector<Double_t>& ptPR2, vector<Double_t> normalPMT, vector<Double_t> ptM,
54 vector<Double_t> ptR2Mirr, Double_t constantePMT);
60 vector<Double_t> normalPMT, Double_t constantePMT,
string str);
64 void DrawMap(Int_t strX, Int_t strY);
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 GetPmtNormal(Int_t NofPMTPoints, vector< Double_t > &normalPMT, Double_t &normalCste)
void DrawRingTrackDistanceCorr()
ClassDef(CbmRichMirrorSortingCorrection, 1)
void FillHistProjection(TVector3 outPosIdeal, TVector3 outPosUnCorr, TVector3 outPos, CbmRichRingLight ringLight, vector< Double_t > normalPMT, Double_t constantePMT, string str)
TClonesArray * fRefPlanePoints
void DrawMap(Int_t strX, Int_t strY)
virtual InitStatus Init()
Inherited from FairTask.
TClonesArray * fTrackParams
TClonesArray * fMirrorPoints
TString fCorrectionMatching
TString fCorrectionTableDir
void setOutputDir(TString s)
CbmRichRingFitterCOP * fCopFit
TClonesArray * fGlobalTracks
CbmRichRingFitterEllipseTau * fTauFit
void DrawHistProjection()
TClonesArray * fStsTrackMatches
void FillRingTrackDistanceCorr(const CbmRichRing *richRing, const FairTrackParam *pTrack, const CbmMCTrack *mcTrack)
void setCorrectionTableDir(TString s)
void setThreshold(Int_t t)
virtual void Exec(Option_t *option)
Inherited from FairTask.
TClonesArray * fRichRingMatches
void DrawRingTrackDistance(Int_t k)
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 option, TString mirrorTileName)
TClonesArray * fRichProjections
virtual ~CbmRichMirrorSortingCorrection()
void ComputeP(vector< Double_t > &ptPMirr, vector< Double_t > &ptPR2, vector< Double_t > normalPMT, vector< Double_t > ptM, vector< Double_t > ptR2Mirr, Double_t constantePMT)
CbmRichMirrorSortingCorrection()
virtual void Finish()
Inherited from FairTask.
TClonesArray * fPmtPoints
Double_t fTrackCenterDistanceCorrected
bool IsMcPrimaryElectron(const CbmMCTrack *mctrack)
TClonesArray * fRichRings
void setStudyName(TString s)
void InitHistProjection()
std::map< string, TH1D * > fDiffHistoMap
void FillRingTrackDistance()
Double_t fTrackCenterDistanceIdeal
Double_t fTrackCenterDistanceUncorrected
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.