BmnRoot
Loading...
Searching...
No Matches
BmnMath.cxx File Reference
#include "BmnMath.h"
#include "BmnFieldMap.h"
#include "CbmGlobalTrack.h"
#include "CbmHit.h"
#include "CbmStripHit.h"
#include "FairRunAna.h"
#include "FairTrackParam.h"
#include "Math/BrentRootFinder.h"
#include "Math/WrappedTF1.h"
#include "TArc.h"
#include "TCanvas.h"
#include "TClonesArray.h"
#include "TF1.h"
#include "TFitResult.h"
#include "TGraph.h"
#include "TH2F.h"
#include "TLine.h"
#include "TMath.h"
#include <cmath>
#include <iostream>
Include dependency graph for BmnMath.cxx:

Go to the source code of this file.

Namespaces

namespace  lit
 

Functions

Float_t lit::ChiSq (const FairTrackParam *par, const BmnHit *hit)
 
Int_t lit::NDF (const BmnTrack *track)
 
Bool_t IsParCorrect (const FairTrackParam *par, const Bool_t isField)
 
Bool_t IsParCorrect (const FairTrackParam *par)
 
Float_t NumericalRootFinder (TF1 f, Float_t left, Float_t right)
 
TVector3 LineFit (BmnTrack *track, const TClonesArray *arr, TString type)
 
TVector3 LineFitBy3Hits (const BmnHit *h0, const BmnHit *h1, const BmnHit *h2)
 
void LineFit (Double_t &par1, Double_t &par2, BmnTrack *track, TClonesArray *arr, Int_t type, Int_t idSkip)
 
TVector3 CircleFit (BmnTrack *track, const TClonesArray *arr, Double_t &chi2)
 
TVector3 CircleFit (vector< BmnHit * > hits, Int_t idSkip)
 
Double_t CalcTx (const BmnHit *h0, const BmnHit *h1, const BmnHit *h2)
 
Float_t Dist (Float_t x1, Float_t y1, Float_t x2, Float_t y2)
 
Float_t NewtonSolver (Float_t A0, Float_t A1, Float_t A2, Float_t A22)
 
TVector3 CircleBy3Hit (BmnTrack *track, const TClonesArray *arr)
 
TVector3 Pol2By3Hit (BmnTrack *track, const TClonesArray *arr)
 
void DrawHits (BmnTrack *track, const TClonesArray *arr)
 
TVector3 CircleBy3Hit (const BmnHit *h0, const BmnHit *h1, const BmnHit *h2)
 
void fit_seg (Double_t *z_loc, Double_t *rh_seg, Double_t *rh_sigm_seg, Double_t *par_ab, Int_t skip_first, Int_t skip_second)
 
void Pol2Fit (BmnTrack *track, const TClonesArray *arr, Double_t &A, Double_t &B, Double_t &C, Int_t idSkip)
 
TVector3 Pol2Fit (vector< BmnHit * > hits, Int_t idSkip)
 
TVector2 LineFit (vector< BmnHit * > hits, Int_t idSkip, TString type)
 
vector< Double_t > dist (vector< Double_t > qp, Double_t mu)
 
vector< Double_t > W (vector< Double_t > dist, Double_t sig)
 
Double_t Sigma (vector< Double_t > dist, vector< Double_t > w)
 
Double_t Mu (vector< Double_t > qp, vector< Double_t > w)
 
void DrawBar (UInt_t iEv, UInt_t nEv)
 
void DrawBar (Long64_t iEv, Long64_t nEv)
 
Double_t GetVZByTwoStraightTracks (BmnTrack *tr0, BmnTrack *tr1, Double_t &dist)
 
Double_t GetVzByVectorStraightTracks (vector< BmnTrack > tr, Double_t &dist)
 
void UpdateTrackParam (FairTrackParam *initPar, const FairTrackParam *detPar, Double_t &chiSq)
 

Function Documentation

◆ CalcTx()

Double_t CalcTx ( const BmnHit h0,
const BmnHit h1,
const BmnHit h2 
)

Definition at line 422 of file BmnMath.cxx.

References CircleBy3Hit().

◆ CircleBy3Hit() [1/2]

TVector3 CircleBy3Hit ( BmnTrack track,
const TClonesArray *  arr 
)

Definition at line 470 of file BmnMath.cxx.

References BmnTrack::GetHitIndex(), and BmnTrack::GetNHits().

Referenced by CalcTx().

◆ CircleBy3Hit() [2/2]

TVector3 CircleBy3Hit ( const BmnHit h0,
const BmnHit h1,
const BmnHit h2 
)

Definition at line 551 of file BmnMath.cxx.

References z0.

◆ CircleFit() [1/2]

TVector3 CircleFit ( BmnTrack track,
const TClonesArray *  arr,
Double_t &  chi2 
)

Definition at line 312 of file BmnMath.cxx.

References BmnTrack::GetHitIndex(), BmnTrack::GetNHits(), and i.

◆ CircleFit() [2/2]

TVector3 CircleFit ( vector< BmnHit * >  hits,
Int_t  idSkip 
)

Definition at line 369 of file BmnMath.cxx.

References i.

◆ Dist()

Float_t Dist ( Float_t  x1,
Float_t  y1,
Float_t  x2,
Float_t  y2 
)

Definition at line 432 of file BmnMath.cxx.

◆ dist()

◆ DrawBar() [1/2]

void DrawBar ( Long64_t  iEv,
Long64_t  nEv 
)

Definition at line 961 of file BmnMath.cxx.

References ANSI_COLOR_BLUE_BG, ANSI_COLOR_RED, ANSI_COLOR_RESET, ANSI_COLOR_YELLOW_BG, and i.

◆ DrawBar() [2/2]

void DrawBar ( UInt_t  iEv,
UInt_t  nEv 
)

◆ DrawHits()

void DrawHits ( BmnTrack track,
const TClonesArray *  arr 
)

Definition at line 532 of file BmnMath.cxx.

References BmnTrack::GetHitIndex(), BmnTrack::GetNHits(), and i.

◆ fit_seg()

void fit_seg ( Double_t *  z_loc,
Double_t *  rh_seg,
Double_t *  rh_sigm_seg,
Double_t *  par_ab,
Int_t  skip_first,
Int_t  skip_second 
)

Definition at line 589 of file BmnMath.cxx.

References f, i, and sqrt().

◆ GetVZByTwoStraightTracks()

Double_t GetVZByTwoStraightTracks ( BmnTrack tr0,
BmnTrack tr1,
Double_t &  dist 
)

Definition at line 979 of file BmnMath.cxx.

References dist(), and BmnTrack::GetParamFirst().

◆ GetVzByVectorStraightTracks()

Double_t GetVzByVectorStraightTracks ( vector< BmnTrack tr,
Double_t &  dist 
)

Definition at line 999 of file BmnMath.cxx.

References dist(), and i.

Referenced by SrcVertexFinder::FindVertexAnalitically().

◆ IsParCorrect() [1/2]

Bool_t IsParCorrect ( const FairTrackParam *  par)

Definition at line 64 of file BmnMath.cxx.

References BmnFieldMap::IsFieldOff().

◆ IsParCorrect() [2/2]

Bool_t IsParCorrect ( const FairTrackParam *  par,
const Bool_t  isField 
)

Definition at line 59 of file BmnMath.cxx.

References IsParCorrect().

Referenced by IsParCorrect(), and BmnKalmanFilter::TGeoTrackPropagate().

◆ LineFit() [1/3]

TVector3 LineFit ( BmnTrack track,
const TClonesArray *  arr,
TString  type 
)

Definition at line 113 of file BmnMath.cxx.

References BmnTrack::GetHitIndex(), BmnTrack::GetNHits(), and i.

◆ LineFit() [2/3]

void LineFit ( Double_t &  par1,
Double_t &  par2,
BmnTrack track,
TClonesArray *  arr,
Int_t  type,
Int_t  idSkip 
)

Definition at line 245 of file BmnMath.cxx.

References BmnTrack::GetHitIndex(), BmnTrack::GetNHits(), and i.

◆ LineFit() [3/3]

TVector2 LineFit ( vector< BmnHit * >  hits,
Int_t  idSkip,
TString  type 
)

Definition at line 818 of file BmnMath.cxx.

References i.

◆ LineFitBy3Hits()

TVector3 LineFitBy3Hits ( const BmnHit h0,
const BmnHit h1,
const BmnHit h2 
)

Definition at line 209 of file BmnMath.cxx.

◆ Mu()

Double_t Mu ( vector< Double_t >  qp,
vector< Double_t >  w 
)

Definition at line 906 of file BmnMath.cxx.

◆ NewtonSolver()

Float_t NewtonSolver ( Float_t  A0,
Float_t  A1,
Float_t  A2,
Float_t  A22 
)

Definition at line 441 of file BmnMath.cxx.

References fabs().

◆ NumericalRootFinder()

Float_t NumericalRootFinder ( TF1  f,
Float_t  left,
Float_t  right 
)

Definition at line 96 of file BmnMath.cxx.

References f.

◆ Pol2By3Hit()

TVector3 Pol2By3Hit ( BmnTrack track,
const TClonesArray *  arr 
)

Definition at line 505 of file BmnMath.cxx.

References BmnTrack::GetHitIndex(), BmnTrack::GetNHits(), and z0.

◆ Pol2Fit() [1/2]

void Pol2Fit ( BmnTrack track,
const TClonesArray *  arr,
Double_t &  A,
Double_t &  B,
Double_t &  C,
Int_t  idSkip 
)

Definition at line 781 of file BmnMath.cxx.

References BmnTrack::GetHitIndex(), BmnTrack::GetNHits(), and i.

◆ Pol2Fit() [2/2]

TVector3 Pol2Fit ( vector< BmnHit * >  hits,
Int_t  idSkip 
)

Definition at line 799 of file BmnMath.cxx.

References i.

◆ Sigma()

◆ UpdateTrackParam()

void UpdateTrackParam ( FairTrackParam *  initPar,
const FairTrackParam *  detPar,
Double_t &  chiSq 
)

Definition at line 1048 of file BmnMath.cxx.

◆ W()