BmnRoot
Loading...
Searching...
No Matches
BmnMath.h File Reference
#include "FairTrackParam.h"
#include "BmnTrack.h"
#include "BmnHit.h"
#include "TLorentzVector.h"
#include "TVectorD.h"
#include "TF1.h"
Include dependency graph for BmnMath.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  lit
 

Macros

#define ANSI_COLOR_RED   "\x1b[91m"
 
#define ANSI_COLOR_BLUE   "\x1b[94m"
 
#define ANSI_COLOR_RESET   "\x1b[0m"
 
#define ANSI_COLOR_YELLOW_BG   "\x1b[33;7m"
 
#define ANSI_COLOR_BLUE_BG   "\x1b[94;7m"
 
#define ANSI_BOLD   "\e[1m"
 
#define ANSI_DEFAULT   "\e[0m"
 
#define DBG(a)   printf(ANSI_BOLD "Trace %s: %s" ANSI_DEFAULT " (%s:%d)\n", __func__, a, __FILE__, __LINE__);
 
#define DBGERR(a)   fprintf(stderr, ANSI_COLOR_RED "!!! %s error in %s: %s" ANSI_DEFAULT " (%s:%d)\n", a, __func__, strerror(errno), __FILE__, __LINE__);
 

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)
 
void LineFit (Double_t &, Double_t &, BmnTrack *, TClonesArray *, Int_t, Int_t)
 
TVector3 LineFitBy3Hits (const BmnHit *h0, const BmnHit *h1, const BmnHit *h2)
 
TVector3 CircleFit (BmnTrack *track, const TClonesArray *arr, Double_t &chi2)
 
TVector3 CircleFit (vector< BmnHit * > hits, Int_t idSkip)
 
TVector3 CircleBy3Hit (BmnTrack *track, const TClonesArray *arr)
 
TVector3 CircleBy3Hit (const BmnHit *h0, const BmnHit *h1, const BmnHit *h2)
 
TVector3 Pol2By3Hit (BmnTrack *track, const TClonesArray *arr)
 
Double_t CalcTx (const BmnHit *h0, const BmnHit *h1, const BmnHit *h2)
 
void DrawHits (BmnTrack *track, const TClonesArray *arr)
 
Float_t NewtonSolver (Float_t A0, Float_t A1, Float_t A2, Float_t A22)
 
Float_t Dist (Float_t x1, Float_t y1, Float_t x2, Float_t y2)
 
void fit_seg (Double_t *, Double_t *, Double_t *, Double_t *, Int_t, Int_t)
 
void Pol2Fit (BmnTrack *, const TClonesArray *, Double_t &, Double_t &, Double_t &, Int_t)
 
TVector3 Pol2Fit (vector< BmnHit * >, Int_t)
 
TVector2 LineFit (vector< BmnHit * >, Int_t, TString)
 
void DrawBar (UInt_t iEv, UInt_t nEv)
 
void DrawBar (Long64_t iEv, Long64_t nEv)
 
vector< Double_t > dist (vector< Double_t >, Double_t)
 
vector< Double_t > W (vector< Double_t >, Double_t)
 
Double_t Sigma (vector< Double_t >, vector< Double_t >)
 
Double_t Mu (vector< Double_t >, vector< Double_t >)
 
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)
 

Macro Definition Documentation

◆ ANSI_BOLD

#define ANSI_BOLD   "\e[1m"

Definition at line 21 of file BmnMath.h.

◆ ANSI_COLOR_BLUE

#define ANSI_COLOR_BLUE   "\x1b[94m"

Definition at line 17 of file BmnMath.h.

◆ ANSI_COLOR_BLUE_BG

#define ANSI_COLOR_BLUE_BG   "\x1b[94;7m"

Definition at line 20 of file BmnMath.h.

◆ ANSI_COLOR_RED

#define ANSI_COLOR_RED   "\x1b[91m"

Definition at line 16 of file BmnMath.h.

◆ ANSI_COLOR_RESET

#define ANSI_COLOR_RESET   "\x1b[0m"

Definition at line 18 of file BmnMath.h.

◆ ANSI_COLOR_YELLOW_BG

#define ANSI_COLOR_YELLOW_BG   "\x1b[33;7m"

Definition at line 19 of file BmnMath.h.

◆ ANSI_DEFAULT

#define ANSI_DEFAULT   "\e[0m"

Definition at line 22 of file BmnMath.h.

◆ DBG

#define DBG (   a)    printf(ANSI_BOLD "Trace %s: %s" ANSI_DEFAULT " (%s:%d)\n", __func__, a, __FILE__, __LINE__);

Definition at line 24 of file BmnMath.h.

◆ DBGERR

#define DBGERR (   a)    fprintf(stderr, ANSI_COLOR_RED "!!! %s error in %s: %s" ANSI_DEFAULT " (%s:%d)\n", a, __func__, strerror(errno), __FILE__, __LINE__);

Definition at line 25 of file BmnMath.h.

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 
)

◆ 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()