Project
Loading...
Searching...
No Matches
o2::fwdalign::MillePede2 Class Reference

#include <MillePede2.h>

Public Types

enum  { kFailed , kInvert , kNoInversion }
 
enum  { kFixParID = -1 }
 

Public Member Functions

 MillePede2 ()
 
 MillePede2 (const MillePede2 &src)
 
virtual ~MillePede2 ()
 
MillePede2operator= (const MillePede2 &)
 
int InitMille (int nGlo, const int nLoc, const int lNStdDev=-1, const double lResCut=-1., const double lResCutInit=-1., const std::vector< int > &regroup={})
 init all
 
int GetNGloPar () const
 
int GetNGloParIni () const
 
std::vector< intGetRegrouping () const
 
int GetNLocPar () const
 
long GetNLocalEquations () const
 
int GetCurrentIteration () const
 
int GetNMaxIterations () const
 
int GetNStdDev () const
 
int GetNGlobalConstraints () const
 
int GetNLagrangeConstraints () const
 
int GetNLocalFits () const
 
long GetNLocalFitsRejected () const
 
int GetNGlobalsFixed () const
 
int GetGlobalSolveStatus () const
 
float GetChi2CutFactor () const
 
float GetChi2CutRef () const
 
float GetResCurInit () const
 
float GetResCut () const
 
int GetMinPntValid () const
 
int GetRGId (int i) const
 
int GetProcessedPoints (int i) const
 
std::vector< intGetProcessedPoints () const
 
int GetParamGrID (int i) const
 
MatrixSqGetGlobalMatrix () const
 
SymMatrixGetLocalMatrix () const
 
std::vector< double > GetGlobals () const
 
std::vector< double > GetDeltaPars () const
 
std::vector< double > GetInitPars () const
 
std::vector< double > GetSigmaPars () const
 
std::vector< bool > GetIsLinear () const
 
double GetFinalParam (int i) const
 
double GetFinalError (int i) const
 
double GetPull (int i) const
 return pull for parameter iPar
 
double GetGlobal (int i) const
 
double GetInitPar (int i) const
 
double GetSigmaPar (int i) const
 
bool GetIsLinear (int i) const
 
void SetWghScale (const double wOdd=1, const double wEven=1)
 
void SetUseRecordWeight (const bool v=true)
 
bool GetUseRecordWeight () const
 
void SetMinRecordLength (const int v=1)
 
int GetMinRecordLength () const
 
void SetParamGrID (const int grID, int i)
 
void ResetRecord ()
 
void SetNGloPar (const int n)
 
void SetNLocPar (const int n)
 
void SetNMaxIterations (const int n=10)
 
void SetNStdDev (const int n)
 
void SetChi2CutFactor (const float v)
 
void SetChi2CutRef (const float v)
 
void SetResCurInit (const float v)
 
void SetResCut (const float v)
 
void SetMinPntValid (const int n)
 
void SetInitPars (const double *par)
 initialize parameters, account for eventual grouping
 
void SetSigmaPars (const double *par)
 initialize sigmas, account for eventual grouping
 
void SetInitPar (int i, double par)
 initialize param, account for eventual grouping
 
void SetSigmaPar (int i, double par)
 initialize sigma, account for eventual grouping
 
int GlobalFit (std::vector< double > &par, std::vector< double > &error, std::vector< double > &pull)
 performs a requested number of global iterations
 
int GlobalFitIteration ()
 perform global parameters fit once all the local equations have been fitted
 
int SolveGlobalMatEq ()
 solve global matrix equation MatCGlob*X=VecBGlo and store the result in the VecBGlo
 
double GetParError (int iPar) const
 return error for parameter iPar
 
int PrintGlobalParameters () const
 print the final results into the logfile
 
void SetRejRunList (const int *runs, const int nruns)
 set the list of runs to be rejected
 
void SetAccRunList (const int *runs, const int nruns, const float *wghList=nullptr)
 set the list of runs to be selected
 
bool IsRecordAcceptable ()
 validate record according run lists set by the user
 
int SetIterations (const double lChi2CutFac)
 Number of iterations is calculated from lChi2CutFac.
 
void SetGlobalConstraint (const std::vector< double > &dergb, const double val, const double sigma=0, const bool doPrint=false)
 define a constraint equation
 
void SetGlobalConstraint (const std::vector< int > &indgb, const std::vector< double > &dergb, const int ngb, const double val, double sigma=0, const bool doPrint=false)
 define a constraint equation
 
void SetLocalEquation (std::vector< double > &dergb, std::vector< double > &derlc, const double lMeas, const double lSigma)
 assing derivs of loc.eq.
 
void SetLocalEquation (std::vector< int > &indgb, std::vector< double > &dergb, int ngb, std::vector< int > &indlc, std::vector< double > &derlc, const int nlc, const double lMeas, const double lSigma)
 write data of single measurement. Note: the records ignore regrouping, store direct parameters
 
const charGetRecChi2FName () const
 return file name where is stored chi2 from LocalFit()
 
bool InitChi2Storage (const int nEntriesAutoSave=10000)
 initialize the file and tree to store chi2 from LocalFit()
 
void EndChi2Storage ()
 write tree and close file where are stored chi2 from LocalFit()
 
o2::fwdalign::MillePedeRecordGetRecord () const
 
long GetSelFirst () const
 
long GetSelLast () const
 
void SetSelFirst (long v)
 
void SetSelLast (long v)
 
void SetRecord (o2::fwdalign::MillePedeRecord *aRecord)
 
void SetRecordWriter (o2::fwdalign::MilleRecordWriter *myP)
 
void SetConstraintsRecWriter (o2::fwdalign::MilleRecordWriter *myP)
 
void SetRecordReader (o2::fwdalign::MilleRecordReader *myP)
 
void SetConstraintsRecReader (o2::fwdalign::MilleRecordReader *myP)
 
float Chi2DoFLim (int nSig, int nDoF) const
 return the limit in chi^2/nd for n sigmas stdev authorized
 
void SetParSigma (int i, double par)
 
void SetGlobalParameters (double *par)
 
void SetNonLinear (int index, bool v=true)
 
void DisableRecordWriter ()
 Disable record writer for DPL process.
 

Static Public Member Functions

static bool IsGlobalMatSparse ()
 
static bool IsWeightSigma ()
 
static void SetGlobalMatSparse (const bool v=true)
 
static void SetWeightSigma (const bool v=true)
 
static void SetInvChol (const bool v=true)
 
static void SetMinResPrecondType (const int tp=0)
 
static void SetMinResTol (double val=1e-12)
 
static void SetMinResMaxIter (const int val=2000)
 
static void SetIterSolverType (const int val=MinResSolve::kSolMinRes)
 
static void SetNKrylovV (const int val=60)
 
static bool GetInvChol ()
 
static int GetMinResPrecondType ()
 
static double GetMinResTol ()
 
static int GetMinResMaxIter ()
 
static int GetIterSolverType ()
 
static int GetNKrylovV ()
 

Protected Member Functions

void ReadRecordData (const long recID, const bool doPrint=false)
 read data record (if any) at entry recID
 
void ReadRecordConstraint (const long recID, const bool doPrint=false)
 read constraint record (if any) at entry id recID
 
int LocalFit (std::vector< double > &localParams)
 Perform local parameters fit once all the local equations have been set.
 
bool IsZero (const double v, const double eps=1e-16) const
 
 ClassDef (MillePede2, 0)
 

Protected Attributes

int fNLocPar
 number of local parameters
 
int fNGloPar
 number of global parameters
 
int fNGloParIni
 number of global parameters before grouping
 
int fNGloSize
 final size of the global matrix (NGloPar+NConstraints)
 
long fNLocEquations
 Number of local equations.
 
int fIter
 Current iteration.
 
int fMaxIter
 Maximum number of iterations.
 
int fNStdDev
 Number of standard deviations for chi2 cut.
 
int fNGloConstraints
 Number of constraint equations.
 
int fNLagrangeConstraints
 Number of constraint equations requiring Lagrange multiplier.
 
long fNLocFits
 Number of local fits.
 
long fNLocFitsRejected
 Number of local fits rejected.
 
int fNGloFix
 Number of globals fixed by user.
 
int fGloSolveStatus
 Status of global solver at current step.
 
float fChi2CutFactor
 Cut factor for chi2 cut to accept local fit.
 
float fChi2CutRef
 Reference cut for chi2 cut to accept local fit.
 
float fResCutInit
 Cut in residual for first iterartion.
 
float fResCut
 Cut in residual for other iterartiona.
 
int fMinPntValid
 min number of points for global to vary
 
int fNGroupsSet
 number of groups set
 
std::vector< intfParamGrID
 [fNGloPar] group id for the every parameter
 
std::vector< intfProcPnt
 [fNGloPar] N of processed points per global variable
 
std::vector< double > fVecBLoc
 [fNLocPar] Vector B local (parameters)
 
std::vector< double > fDiagCGlo
 [fNGloPar] Initial diagonal elements of C global matrix
 
std::vector< double > fVecBGlo
 
std::vector< double > fInitPar
 Vector B global (parameters)
 
std::vector< double > fDeltaPar
 [fNGloPar] Variation of global parameters
 
std::vector< double > fSigmaPar
 [fNGloPar] Sigma of allowed variation of global parameter
 
std::vector< bool > fIsLinear
 [fNGloPar] Flag for linear parameters
 
std::vector< bool > fConstrUsed
 
std::vector< intfGlo2CGlo
 Flag for used constraints.
 
std::vector< intfCGlo2Glo
 [fNGloPar] compressed ID to global ID buffer
 
o2::fwdalign::SymMatrixfMatCLoc
 Matrix C local.
 
o2::fwdalign::MatrixSqfMatCGlo
 Matrix C global.
 
o2::fwdalign::RectMatrixfMatCGloLoc
 Rectangular matrix C g*l.
 
std::vector< intfFillIndex
 [fNGloPar] auxilary index array for fast matrix fill
 
std::vector< double > fFillValue
 [fNGloPar] auxilary value array for fast matrix fill
 
TFile * fRecChi2File
 
TString fRecChi2FName
 
TString fRecChi2TreeName
 Name of chi2 per record tree.
 
TTree * fTreeChi2
 
float fSumChi2
 
bool fIsChi2BelowLimit
 
int fRecNDoF
 
o2::fwdalign::MillePedeRecordfRecord
 Buffer of measurements records.
 
long fCurrRecDataID
 ID of the current data record.
 
long fCurrRecConstrID
 ID of the current constraint record.
 
bool fLocFitAdd
 Add contribution of carrent track (and not eliminate it)
 
bool fUseRecordWeight
 force or ignore the record weight
 
bool fDisableRecordWriter
 disable record writer for DPL process
 
int fMinRecordLength
 ignore shorter records
 
int fSelFirst
 event selection start
 
int fSelLast
 event selection end
 
TArrayL * fRejRunList
 list of runs to reject (if any)
 
TArrayL * fAccRunList
 list of runs to select (if any)
 
TArrayF * fAccRunListWgh
 optional weights for data of accepted runs (if any)
 
double fRunWgh
 run weight
 
double fWghScl [2]
 optional rescaling for odd/even residual weights (see its usage in LocalFit)
 
std::vector< intfkReGroup
 optional regrouping of parameters wrt ID's from the records
 
o2::fwdalign::MilleRecordWriterfRecordWriter
 data record writer
 
o2::fwdalign::MilleRecordWriterfConstraintsRecWriter
 constraints record writer
 
o2::fwdalign::MilleRecordReaderfRecordReader
 data record reader
 
o2::fwdalign::MilleRecordReaderfConstraintsRecReader
 constraints record reader
 

Static Protected Attributes

static bool fgInvChol = true
 Invert global matrix in Cholesky solver.
 
static bool fgWeightSigma = true
 weight parameter constraint by statistics
 
static bool fgIsMatGloSparse = false
 Type of the global matrix (sparse ...)
 
static int fgMinResCondType = 1
 Type of the preconditioner for MinRes method.
 
static double fgMinResTol = 1.e-11
 Tolerance for MinRes solution.
 
static int fgMinResMaxIter = 10000
 Max number of iterations for the MinRes method.
 
static int fgIterSol = MinResSolve::kSolMinRes
 type of iterative solution: MinRes or FGMRES
 
static int fgNKrylovV = 240
 size of Krylov vectors buffer in FGMRES
 

Detailed Description

Definition at line 44 of file MillePede2.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kFailed 
kInvert 
kNoInversion 

Definition at line 48 of file MillePede2.h.

◆ anonymous enum

anonymous enum
Enumerator
kFixParID 

Definition at line 51 of file MillePede2.h.

Constructor & Destructor Documentation

◆ MillePede2() [1/2]

MillePede2::MillePede2 ( )

Definition at line 51 of file MillePede2.cxx.

◆ MillePede2() [2/2]

MillePede2::MillePede2 ( const MillePede2 src)

Definition at line 104 of file MillePede2.cxx.

◆ ~MillePede2()

MillePede2::~MillePede2 ( )
virtual

Definition at line 159 of file MillePede2.cxx.

Member Function Documentation

◆ Chi2DoFLim()

Float_t MillePede2::Chi2DoFLim ( int  nSig,
int  nDoF 
) const

return the limit in chi^2/nd for n sigmas stdev authorized

Only n=1, 2, and 3 are expected in input

Definition at line 1429 of file MillePede2.cxx.

◆ ClassDef()

o2::fwdalign::MillePede2::ClassDef ( MillePede2  ,
 
)
protected

◆ DisableRecordWriter()

void o2::fwdalign::MillePede2::DisableRecordWriter ( )
inline

Disable record writer for DPL process.

Definition at line 290 of file MillePede2.h.

◆ EndChi2Storage()

void MillePede2::EndChi2Storage ( )

write tree and close file where are stored chi2 from LocalFit()

Definition at line 304 of file MillePede2.cxx.

◆ GetChi2CutFactor()

float o2::fwdalign::MillePede2::GetChi2CutFactor ( ) const
inline

Definition at line 81 of file MillePede2.h.

◆ GetChi2CutRef()

float o2::fwdalign::MillePede2::GetChi2CutRef ( ) const
inline

Definition at line 82 of file MillePede2.h.

◆ GetCurrentIteration()

int o2::fwdalign::MillePede2::GetCurrentIteration ( ) const
inline

Definition at line 72 of file MillePede2.h.

◆ GetDeltaPars()

std::vector< double > o2::fwdalign::MillePede2::GetDeltaPars ( ) const
inline

Definition at line 102 of file MillePede2.h.

◆ GetFinalError()

double o2::fwdalign::MillePede2::GetFinalError ( int  i) const
inline

Definition at line 111 of file MillePede2.h.

◆ GetFinalParam()

double o2::fwdalign::MillePede2::GetFinalParam ( int  i) const
inline

Definition at line 106 of file MillePede2.h.

◆ GetGlobal()

double o2::fwdalign::MillePede2::GetGlobal ( int  i) const
inline

Definition at line 116 of file MillePede2.h.

◆ GetGlobalMatrix()

MatrixSq * o2::fwdalign::MillePede2::GetGlobalMatrix ( ) const
inline

Definition at line 99 of file MillePede2.h.

◆ GetGlobals()

std::vector< double > o2::fwdalign::MillePede2::GetGlobals ( ) const
inline

Definition at line 101 of file MillePede2.h.

◆ GetGlobalSolveStatus()

int o2::fwdalign::MillePede2::GetGlobalSolveStatus ( ) const
inline

Definition at line 80 of file MillePede2.h.

◆ GetInitPar()

double o2::fwdalign::MillePede2::GetInitPar ( int  i) const
inline

Definition at line 121 of file MillePede2.h.

◆ GetInitPars()

std::vector< double > o2::fwdalign::MillePede2::GetInitPars ( ) const
inline

Definition at line 103 of file MillePede2.h.

◆ GetInvChol()

static bool o2::fwdalign::MillePede2::GetInvChol ( )
inlinestatic

Definition at line 202 of file MillePede2.h.

◆ GetIsLinear() [1/2]

std::vector< bool > o2::fwdalign::MillePede2::GetIsLinear ( ) const
inline

Definition at line 105 of file MillePede2.h.

◆ GetIsLinear() [2/2]

bool o2::fwdalign::MillePede2::GetIsLinear ( int  i) const
inline

Definition at line 131 of file MillePede2.h.

◆ GetIterSolverType()

static int o2::fwdalign::MillePede2::GetIterSolverType ( )
inlinestatic

Definition at line 206 of file MillePede2.h.

◆ GetLocalMatrix()

SymMatrix * o2::fwdalign::MillePede2::GetLocalMatrix ( ) const
inline

Definition at line 100 of file MillePede2.h.

◆ GetMinPntValid()

int o2::fwdalign::MillePede2::GetMinPntValid ( ) const
inline

Definition at line 85 of file MillePede2.h.

◆ GetMinRecordLength()

int o2::fwdalign::MillePede2::GetMinRecordLength ( ) const
inline

Definition at line 146 of file MillePede2.h.

◆ GetMinResMaxIter()

static int o2::fwdalign::MillePede2::GetMinResMaxIter ( )
inlinestatic

Definition at line 205 of file MillePede2.h.

◆ GetMinResPrecondType()

static int o2::fwdalign::MillePede2::GetMinResPrecondType ( )
inlinestatic

Definition at line 203 of file MillePede2.h.

◆ GetMinResTol()

static double o2::fwdalign::MillePede2::GetMinResTol ( )
inlinestatic

Definition at line 204 of file MillePede2.h.

◆ GetNGlobalConstraints()

int o2::fwdalign::MillePede2::GetNGlobalConstraints ( ) const
inline

Definition at line 75 of file MillePede2.h.

◆ GetNGlobalsFixed()

int o2::fwdalign::MillePede2::GetNGlobalsFixed ( ) const
inline

Definition at line 79 of file MillePede2.h.

◆ GetNGloPar()

int o2::fwdalign::MillePede2::GetNGloPar ( ) const
inline

Definition at line 67 of file MillePede2.h.

◆ GetNGloParIni()

int o2::fwdalign::MillePede2::GetNGloParIni ( ) const
inline

Definition at line 68 of file MillePede2.h.

◆ GetNKrylovV()

static int o2::fwdalign::MillePede2::GetNKrylovV ( )
inlinestatic

Definition at line 207 of file MillePede2.h.

◆ GetNLagrangeConstraints()

int o2::fwdalign::MillePede2::GetNLagrangeConstraints ( ) const
inline

Definition at line 76 of file MillePede2.h.

◆ GetNLocalEquations()

long o2::fwdalign::MillePede2::GetNLocalEquations ( ) const
inline

Definition at line 71 of file MillePede2.h.

◆ GetNLocalFits()

int o2::fwdalign::MillePede2::GetNLocalFits ( ) const
inline

Definition at line 77 of file MillePede2.h.

◆ GetNLocalFitsRejected()

long o2::fwdalign::MillePede2::GetNLocalFitsRejected ( ) const
inline

Definition at line 78 of file MillePede2.h.

◆ GetNLocPar()

int o2::fwdalign::MillePede2::GetNLocPar ( ) const
inline

Definition at line 70 of file MillePede2.h.

◆ GetNMaxIterations()

int o2::fwdalign::MillePede2::GetNMaxIterations ( ) const
inline

Definition at line 73 of file MillePede2.h.

◆ GetNStdDev()

int o2::fwdalign::MillePede2::GetNStdDev ( ) const
inline

Definition at line 74 of file MillePede2.h.

◆ GetParamGrID()

int o2::fwdalign::MillePede2::GetParamGrID ( int  i) const
inline

Definition at line 93 of file MillePede2.h.

◆ GetParError()

double MillePede2::GetParError ( int  iPar) const

return error for parameter iPar

Definition at line 1471 of file MillePede2.cxx.

◆ GetProcessedPoints() [1/2]

std::vector< int > o2::fwdalign::MillePede2::GetProcessedPoints ( ) const
inline

Definition at line 92 of file MillePede2.h.

◆ GetProcessedPoints() [2/2]

int o2::fwdalign::MillePede2::GetProcessedPoints ( int  i) const
inline

Definition at line 87 of file MillePede2.h.

◆ GetPull()

double MillePede2::GetPull ( int  i) const

return pull for parameter iPar

Definition at line 1490 of file MillePede2.cxx.

◆ GetRecChi2FName()

const char * o2::fwdalign::MillePede2::GetRecChi2FName ( ) const
inline

return file name where is stored chi2 from LocalFit()

Definition at line 252 of file MillePede2.h.

◆ GetRecord()

o2::fwdalign::MillePedeRecord * o2::fwdalign::MillePede2::GetRecord ( ) const
inline

Definition at line 260 of file MillePede2.h.

◆ GetRegrouping()

std::vector< int > o2::fwdalign::MillePede2::GetRegrouping ( ) const
inline

Definition at line 69 of file MillePede2.h.

◆ GetResCurInit()

float o2::fwdalign::MillePede2::GetResCurInit ( ) const
inline

Definition at line 83 of file MillePede2.h.

◆ GetResCut()

float o2::fwdalign::MillePede2::GetResCut ( ) const
inline

Definition at line 84 of file MillePede2.h.

◆ GetRGId()

int o2::fwdalign::MillePede2::GetRGId ( int  i) const
inline

Definition at line 86 of file MillePede2.h.

◆ GetSelFirst()

long o2::fwdalign::MillePede2::GetSelFirst ( ) const
inline

Definition at line 261 of file MillePede2.h.

◆ GetSelLast()

long o2::fwdalign::MillePede2::GetSelLast ( ) const
inline

Definition at line 262 of file MillePede2.h.

◆ GetSigmaPar()

double o2::fwdalign::MillePede2::GetSigmaPar ( int  i) const
inline

Definition at line 126 of file MillePede2.h.

◆ GetSigmaPars()

std::vector< double > o2::fwdalign::MillePede2::GetSigmaPars ( ) const
inline

Definition at line 104 of file MillePede2.h.

◆ GetUseRecordWeight()

bool o2::fwdalign::MillePede2::GetUseRecordWeight ( ) const
inline

Definition at line 144 of file MillePede2.h.

◆ GlobalFit()

int MillePede2::GlobalFit ( std::vector< double > &  par,
std::vector< double > &  error,
std::vector< double > &  pull 
)

performs a requested number of global iterations

Definition at line 880 of file MillePede2.cxx.

◆ GlobalFitIteration()

int MillePede2::GlobalFitIteration ( )

perform global parameters fit once all the local equations have been fitted

Definition at line 941 of file MillePede2.cxx.

◆ InitChi2Storage()

bool MillePede2::InitChi2Storage ( const int  nEntriesAutoSave = 10000)

initialize the file and tree to store chi2 from LocalFit()

Definition at line 270 of file MillePede2.cxx.

◆ InitMille()

int MillePede2::InitMille ( int  nGlo,
const int  nLoc,
const int  lNStdDev = -1,
const double  lResCut = -1.,
const double  lResCutInit = -1.,
const std::vector< int > &  regroup = {} 
)

init all

Definition at line 190 of file MillePede2.cxx.

◆ IsGlobalMatSparse()

static bool o2::fwdalign::MillePede2::IsGlobalMatSparse ( )
inlinestatic

Definition at line 136 of file MillePede2.h.

◆ IsRecordAcceptable()

bool MillePede2::IsRecordAcceptable ( )

validate record according run lists set by the user

Definition at line 1545 of file MillePede2.cxx.

◆ IsWeightSigma()

static bool o2::fwdalign::MillePede2::IsWeightSigma ( )
inlinestatic

Definition at line 137 of file MillePede2.h.

◆ IsZero()

bool o2::fwdalign::MillePede2::IsZero ( const double  v,
const double  eps = 1e-16 
) const
inlineprotected

Definition at line 304 of file MillePede2.h.

◆ LocalFit()

int MillePede2::LocalFit ( std::vector< double > &  localParams)
protected

Perform local parameters fit once all the local equations have been set.

localParams = (if !=0) will contain the fitted track parameters and related errors

Definition at line 504 of file MillePede2.cxx.

◆ operator=()

MillePede2 & o2::fwdalign::MillePede2::operator= ( const MillePede2 )
inline

Definition at line 56 of file MillePede2.h.

◆ PrintGlobalParameters()

int MillePede2::PrintGlobalParameters ( ) const

print the final results into the logfile

Definition at line 1508 of file MillePede2.cxx.

◆ ReadRecordConstraint()

void MillePede2::ReadRecordConstraint ( const long  recID,
const bool  doPrint = false 
)
protected

read constraint record (if any) at entry id recID

Definition at line 492 of file MillePede2.cxx.

◆ ReadRecordData()

void MillePede2::ReadRecordData ( const long  recID,
const bool  doPrint = false 
)
protected

read data record (if any) at entry recID

Definition at line 480 of file MillePede2.cxx.

◆ ResetRecord()

void o2::fwdalign::MillePede2::ResetRecord ( )
inline

Definition at line 159 of file MillePede2.h.

◆ SetAccRunList()

void MillePede2::SetAccRunList ( const int runs,
const int  nruns,
const float *  wghList = nullptr 
)

set the list of runs to be selected

Definition at line 1602 of file MillePede2.cxx.

◆ SetChi2CutFactor()

void o2::fwdalign::MillePede2::SetChi2CutFactor ( const float  v)
inline

Definition at line 164 of file MillePede2.h.

◆ SetChi2CutRef()

void o2::fwdalign::MillePede2::SetChi2CutRef ( const float  v)
inline

Definition at line 165 of file MillePede2.h.

◆ SetConstraintsRecReader()

void o2::fwdalign::MillePede2::SetConstraintsRecReader ( o2::fwdalign::MilleRecordReader myP)
inline

Definition at line 270 of file MillePede2.h.

◆ SetConstraintsRecWriter()

void o2::fwdalign::MillePede2::SetConstraintsRecWriter ( o2::fwdalign::MilleRecordWriter myP)
inline

Definition at line 268 of file MillePede2.h.

◆ SetGlobalConstraint() [1/2]

void MillePede2::SetGlobalConstraint ( const std::vector< double > &  dergb,
const double  val,
const double  sigma = 0,
const bool  doPrint = false 
)

define a constraint equation

Definition at line 413 of file MillePede2.cxx.

◆ SetGlobalConstraint() [2/2]

void MillePede2::SetGlobalConstraint ( const std::vector< int > &  indgb,
const std::vector< double > &  dergb,
const int  ngb,
const double  val,
double  sigma = 0,
const bool  doPrint = false 
)

define a constraint equation

Definition at line 446 of file MillePede2.cxx.

◆ SetGlobalMatSparse()

static void o2::fwdalign::MillePede2::SetGlobalMatSparse ( const bool  v = true)
inlinestatic

Definition at line 169 of file MillePede2.h.

◆ SetGlobalParameters()

void o2::fwdalign::MillePede2::SetGlobalParameters ( double *  par)
inline

Definition at line 279 of file MillePede2.h.

◆ SetInitPar()

void MillePede2::SetInitPar ( int  i,
double  par 
)

initialize param, account for eventual grouping

Definition at line 1647 of file MillePede2.cxx.

◆ SetInitPars()

void MillePede2::SetInitPars ( const double *  par)

initialize parameters, account for eventual grouping

Definition at line 1623 of file MillePede2.cxx.

◆ SetInvChol()

static void o2::fwdalign::MillePede2::SetInvChol ( const bool  v = true)
inlinestatic

Definition at line 195 of file MillePede2.h.

◆ SetIterations()

int MillePede2::SetIterations ( const double  lChi2CutFac)

Number of iterations is calculated from lChi2CutFac.

Definition at line 1462 of file MillePede2.cxx.

◆ SetIterSolverType()

static void o2::fwdalign::MillePede2::SetIterSolverType ( const int  val = MinResSolve::kSolMinRes)
inlinestatic

Definition at line 199 of file MillePede2.h.

◆ SetLocalEquation() [1/2]

void MillePede2::SetLocalEquation ( std::vector< double > &  dergb,
std::vector< double > &  derlc,
const double  lMeas,
const double  lSigma 
)

assing derivs of loc.eq.

Definition at line 315 of file MillePede2.cxx.

◆ SetLocalEquation() [2/2]

void MillePede2::SetLocalEquation ( std::vector< int > &  indgb,
std::vector< double > &  dergb,
int  ngb,
std::vector< int > &  indlc,
std::vector< double > &  derlc,
const int  nlc,
const double  lMeas,
const double  lSigma 
)

write data of single measurement. Note: the records ignore regrouping, store direct parameters

Definition at line 363 of file MillePede2.cxx.

◆ SetMinPntValid()

void o2::fwdalign::MillePede2::SetMinPntValid ( const int  n)
inline

Definition at line 168 of file MillePede2.h.

◆ SetMinRecordLength()

void o2::fwdalign::MillePede2::SetMinRecordLength ( const int  v = 1)
inline

Definition at line 145 of file MillePede2.h.

◆ SetMinResMaxIter()

static void o2::fwdalign::MillePede2::SetMinResMaxIter ( const int  val = 2000)
inlinestatic

Definition at line 198 of file MillePede2.h.

◆ SetMinResPrecondType()

static void o2::fwdalign::MillePede2::SetMinResPrecondType ( const int  tp = 0)
inlinestatic

Definition at line 196 of file MillePede2.h.

◆ SetMinResTol()

static void o2::fwdalign::MillePede2::SetMinResTol ( double  val = 1e-12)
inlinestatic

Definition at line 197 of file MillePede2.h.

◆ SetNGloPar()

void o2::fwdalign::MillePede2::SetNGloPar ( const int  n)
inline

Definition at line 160 of file MillePede2.h.

◆ SetNKrylovV()

static void o2::fwdalign::MillePede2::SetNKrylovV ( const int  val = 60)
inlinestatic

Definition at line 200 of file MillePede2.h.

◆ SetNLocPar()

void o2::fwdalign::MillePede2::SetNLocPar ( const int  n)
inline

Definition at line 161 of file MillePede2.h.

◆ SetNMaxIterations()

void o2::fwdalign::MillePede2::SetNMaxIterations ( const int  n = 10)
inline

Definition at line 162 of file MillePede2.h.

◆ SetNonLinear()

void o2::fwdalign::MillePede2::SetNonLinear ( int  index,
bool  v = true 
)
inline

Definition at line 280 of file MillePede2.h.

◆ SetNStdDev()

void o2::fwdalign::MillePede2::SetNStdDev ( const int  n)
inline

Definition at line 163 of file MillePede2.h.

◆ SetParamGrID()

void o2::fwdalign::MillePede2::SetParamGrID ( const int  grID,
int  i 
)
inline

Definition at line 148 of file MillePede2.h.

◆ SetParSigma()

void o2::fwdalign::MillePede2::SetParSigma ( int  i,
double  par 
)
inline

Definition at line 278 of file MillePede2.h.

◆ SetRecord()

void o2::fwdalign::MillePede2::SetRecord ( o2::fwdalign::MillePedeRecord aRecord)
inline

Definition at line 266 of file MillePede2.h.

◆ SetRecordReader()

void o2::fwdalign::MillePede2::SetRecordReader ( o2::fwdalign::MilleRecordReader myP)
inline

Definition at line 269 of file MillePede2.h.

◆ SetRecordWriter()

void o2::fwdalign::MillePede2::SetRecordWriter ( o2::fwdalign::MilleRecordWriter myP)
inline

Definition at line 267 of file MillePede2.h.

◆ SetRejRunList()

void MillePede2::SetRejRunList ( const int runs,
const int  nruns 
)

set the list of runs to be rejected

Definition at line 1586 of file MillePede2.cxx.

◆ SetResCurInit()

void o2::fwdalign::MillePede2::SetResCurInit ( const float  v)
inline

Definition at line 166 of file MillePede2.h.

◆ SetResCut()

void o2::fwdalign::MillePede2::SetResCut ( const float  v)
inline

Definition at line 167 of file MillePede2.h.

◆ SetSelFirst()

void o2::fwdalign::MillePede2::SetSelFirst ( long  v)
inline

Definition at line 263 of file MillePede2.h.

◆ SetSelLast()

void o2::fwdalign::MillePede2::SetSelLast ( long  v)
inline

Definition at line 264 of file MillePede2.h.

◆ SetSigmaPar()

void MillePede2::SetSigmaPar ( int  i,
double  par 
)

initialize sigma, account for eventual grouping

Definition at line 1657 of file MillePede2.cxx.

◆ SetSigmaPars()

void MillePede2::SetSigmaPars ( const double *  par)

initialize sigmas, account for eventual grouping

Definition at line 1635 of file MillePede2.cxx.

◆ SetUseRecordWeight()

void o2::fwdalign::MillePede2::SetUseRecordWeight ( const bool  v = true)
inline

Definition at line 143 of file MillePede2.h.

◆ SetWeightSigma()

static void o2::fwdalign::MillePede2::SetWeightSigma ( const bool  v = true)
inlinestatic

Definition at line 170 of file MillePede2.h.

◆ SetWghScale()

void o2::fwdalign::MillePede2::SetWghScale ( const double  wOdd = 1,
const double  wEven = 1 
)
inline

Definition at line 138 of file MillePede2.h.

◆ SolveGlobalMatEq()

int MillePede2::SolveGlobalMatEq ( )

solve global matrix equation MatCGlob*X=VecBGlo and store the result in the VecBGlo

Definition at line 1352 of file MillePede2.cxx.

Member Data Documentation

◆ fAccRunList

TArrayL* o2::fwdalign::MillePede2::fAccRunList
protected

list of runs to select (if any)

Definition at line 372 of file MillePede2.h.

◆ fAccRunListWgh

TArrayF* o2::fwdalign::MillePede2::fAccRunListWgh
protected

optional weights for data of accepted runs (if any)

Definition at line 373 of file MillePede2.h.

◆ fCGlo2Glo

std::vector<int> o2::fwdalign::MillePede2::fCGlo2Glo
protected

[fNGloPar] compressed ID to global ID buffer

Definition at line 344 of file MillePede2.h.

◆ fChi2CutFactor

float o2::fwdalign::MillePede2::fChi2CutFactor
protected

Cut factor for chi2 cut to accept local fit.

Definition at line 323 of file MillePede2.h.

◆ fChi2CutRef

float o2::fwdalign::MillePede2::fChi2CutRef
protected

Reference cut for chi2 cut to accept local fit.

Definition at line 324 of file MillePede2.h.

◆ fConstraintsRecReader

o2::fwdalign::MilleRecordReader* o2::fwdalign::MillePede2::fConstraintsRecReader
protected

constraints record reader

Definition at line 391 of file MillePede2.h.

◆ fConstraintsRecWriter

o2::fwdalign::MilleRecordWriter* o2::fwdalign::MillePede2::fConstraintsRecWriter
protected

constraints record writer

Definition at line 389 of file MillePede2.h.

◆ fConstrUsed

std::vector<bool> o2::fwdalign::MillePede2::fConstrUsed
protected

Definition at line 341 of file MillePede2.h.

◆ fCurrRecConstrID

long o2::fwdalign::MillePede2::fCurrRecConstrID
protected

ID of the current constraint record.

Definition at line 364 of file MillePede2.h.

◆ fCurrRecDataID

long o2::fwdalign::MillePede2::fCurrRecDataID
protected

ID of the current data record.

Definition at line 363 of file MillePede2.h.

◆ fDeltaPar

std::vector<double> o2::fwdalign::MillePede2::fDeltaPar
protected

[fNGloPar] Variation of global parameters

Definition at line 337 of file MillePede2.h.

◆ fDiagCGlo

std::vector<double> o2::fwdalign::MillePede2::fDiagCGlo
protected

[fNGloPar] Initial diagonal elements of C global matrix

Definition at line 333 of file MillePede2.h.

◆ fDisableRecordWriter

bool o2::fwdalign::MillePede2::fDisableRecordWriter
protected

disable record writer for DPL process

Definition at line 367 of file MillePede2.h.

◆ fFillIndex

std::vector<int> o2::fwdalign::MillePede2::fFillIndex
protected

[fNGloPar] auxilary index array for fast matrix fill

Definition at line 350 of file MillePede2.h.

◆ fFillValue

std::vector<double> o2::fwdalign::MillePede2::fFillValue
protected

[fNGloPar] auxilary value array for fast matrix fill

Definition at line 351 of file MillePede2.h.

◆ fgInvChol

bool MillePede2::fgInvChol = true
staticprotected

Invert global matrix in Cholesky solver.

Definition at line 378 of file MillePede2.h.

◆ fgIsMatGloSparse

bool MillePede2::fgIsMatGloSparse = false
staticprotected

Type of the global matrix (sparse ...)

Definition at line 380 of file MillePede2.h.

◆ fgIterSol

int MillePede2::fgIterSol = MinResSolve::kSolMinRes
staticprotected

type of iterative solution: MinRes or FGMRES

Definition at line 384 of file MillePede2.h.

◆ fGlo2CGlo

std::vector<int> o2::fwdalign::MillePede2::fGlo2CGlo
protected

Flag for used constraints.

[fNGloPar] global ID to compressed ID buffer

Definition at line 343 of file MillePede2.h.

◆ fGloSolveStatus

int o2::fwdalign::MillePede2::fGloSolveStatus
protected

Status of global solver at current step.

Definition at line 321 of file MillePede2.h.

◆ fgMinResCondType

int MillePede2::fgMinResCondType = 1
staticprotected

Type of the preconditioner for MinRes method.

Definition at line 381 of file MillePede2.h.

◆ fgMinResMaxIter

int MillePede2::fgMinResMaxIter = 10000
staticprotected

Max number of iterations for the MinRes method.

Definition at line 383 of file MillePede2.h.

◆ fgMinResTol

double MillePede2::fgMinResTol = 1.e-11
staticprotected

Tolerance for MinRes solution.

Definition at line 382 of file MillePede2.h.

◆ fgNKrylovV

int MillePede2::fgNKrylovV = 240
staticprotected

size of Krylov vectors buffer in FGMRES

Definition at line 385 of file MillePede2.h.

◆ fgWeightSigma

bool MillePede2::fgWeightSigma = true
staticprotected

weight parameter constraint by statistics

Definition at line 379 of file MillePede2.h.

◆ fInitPar

std::vector<double> o2::fwdalign::MillePede2::fInitPar
protected

Vector B global (parameters)

[fNGloPar] Initial global parameters

Definition at line 336 of file MillePede2.h.

◆ fIsChi2BelowLimit

bool o2::fwdalign::MillePede2::fIsChi2BelowLimit
protected

Definition at line 358 of file MillePede2.h.

◆ fIsLinear

std::vector<bool> o2::fwdalign::MillePede2::fIsLinear
protected

[fNGloPar] Flag for linear parameters

Definition at line 340 of file MillePede2.h.

◆ fIter

int o2::fwdalign::MillePede2::fIter
protected

Current iteration.

Definition at line 313 of file MillePede2.h.

◆ fkReGroup

std::vector<int> o2::fwdalign::MillePede2::fkReGroup
protected

optional regrouping of parameters wrt ID's from the records

Definition at line 376 of file MillePede2.h.

◆ fLocFitAdd

bool o2::fwdalign::MillePede2::fLocFitAdd
protected

Add contribution of carrent track (and not eliminate it)

Definition at line 365 of file MillePede2.h.

◆ fMatCGlo

o2::fwdalign::MatrixSq* o2::fwdalign::MillePede2::fMatCGlo
protected

Matrix C global.

Definition at line 348 of file MillePede2.h.

◆ fMatCGloLoc

o2::fwdalign::RectMatrix* o2::fwdalign::MillePede2::fMatCGloLoc
protected

Rectangular matrix C g*l.

Definition at line 349 of file MillePede2.h.

◆ fMatCLoc

o2::fwdalign::SymMatrix* o2::fwdalign::MillePede2::fMatCLoc
protected

Matrix C local.

Definition at line 347 of file MillePede2.h.

◆ fMaxIter

int o2::fwdalign::MillePede2::fMaxIter
protected

Maximum number of iterations.

Definition at line 314 of file MillePede2.h.

◆ fMinPntValid

int o2::fwdalign::MillePede2::fMinPntValid
protected

min number of points for global to vary

Definition at line 327 of file MillePede2.h.

◆ fMinRecordLength

int o2::fwdalign::MillePede2::fMinRecordLength
protected

ignore shorter records

Definition at line 368 of file MillePede2.h.

◆ fNGloConstraints

int o2::fwdalign::MillePede2::fNGloConstraints
protected

Number of constraint equations.

Definition at line 316 of file MillePede2.h.

◆ fNGloFix

int o2::fwdalign::MillePede2::fNGloFix
protected

Number of globals fixed by user.

Definition at line 320 of file MillePede2.h.

◆ fNGloPar

int o2::fwdalign::MillePede2::fNGloPar
protected

number of global parameters

Definition at line 308 of file MillePede2.h.

◆ fNGloParIni

int o2::fwdalign::MillePede2::fNGloParIni
protected

number of global parameters before grouping

Definition at line 309 of file MillePede2.h.

◆ fNGloSize

int o2::fwdalign::MillePede2::fNGloSize
protected

final size of the global matrix (NGloPar+NConstraints)

Definition at line 310 of file MillePede2.h.

◆ fNGroupsSet

int o2::fwdalign::MillePede2::fNGroupsSet
protected

number of groups set

Definition at line 329 of file MillePede2.h.

◆ fNLagrangeConstraints

int o2::fwdalign::MillePede2::fNLagrangeConstraints
protected

Number of constraint equations requiring Lagrange multiplier.

Definition at line 317 of file MillePede2.h.

◆ fNLocEquations

long o2::fwdalign::MillePede2::fNLocEquations
protected

Number of local equations.

Definition at line 312 of file MillePede2.h.

◆ fNLocFits

long o2::fwdalign::MillePede2::fNLocFits
protected

Number of local fits.

Definition at line 318 of file MillePede2.h.

◆ fNLocFitsRejected

long o2::fwdalign::MillePede2::fNLocFitsRejected
protected

Number of local fits rejected.

Definition at line 319 of file MillePede2.h.

◆ fNLocPar

int o2::fwdalign::MillePede2::fNLocPar
protected

number of local parameters

Definition at line 307 of file MillePede2.h.

◆ fNStdDev

int o2::fwdalign::MillePede2::fNStdDev
protected

Number of standard deviations for chi2 cut.

Definition at line 315 of file MillePede2.h.

◆ fParamGrID

std::vector<int> o2::fwdalign::MillePede2::fParamGrID
protected

[fNGloPar] group id for the every parameter

Definition at line 330 of file MillePede2.h.

◆ fProcPnt

std::vector<int> o2::fwdalign::MillePede2::fProcPnt
protected

[fNGloPar] N of processed points per global variable

Definition at line 331 of file MillePede2.h.

◆ fRecChi2File

TFile* o2::fwdalign::MillePede2::fRecChi2File
protected

Definition at line 353 of file MillePede2.h.

◆ fRecChi2FName

TString o2::fwdalign::MillePede2::fRecChi2FName
protected

Definition at line 354 of file MillePede2.h.

◆ fRecChi2TreeName

TString o2::fwdalign::MillePede2::fRecChi2TreeName
protected

Name of chi2 per record tree.

Definition at line 355 of file MillePede2.h.

◆ fRecNDoF

int o2::fwdalign::MillePede2::fRecNDoF
protected

Definition at line 359 of file MillePede2.h.

◆ fRecord

o2::fwdalign::MillePedeRecord* o2::fwdalign::MillePede2::fRecord
protected

Buffer of measurements records.

Definition at line 361 of file MillePede2.h.

◆ fRecordReader

o2::fwdalign::MilleRecordReader* o2::fwdalign::MillePede2::fRecordReader
protected

data record reader

Definition at line 390 of file MillePede2.h.

◆ fRecordWriter

o2::fwdalign::MilleRecordWriter* o2::fwdalign::MillePede2::fRecordWriter
protected

data record writer

Definition at line 388 of file MillePede2.h.

◆ fRejRunList

TArrayL* o2::fwdalign::MillePede2::fRejRunList
protected

list of runs to reject (if any)

Definition at line 371 of file MillePede2.h.

◆ fResCut

float o2::fwdalign::MillePede2::fResCut
protected

Cut in residual for other iterartiona.

Definition at line 326 of file MillePede2.h.

◆ fResCutInit

float o2::fwdalign::MillePede2::fResCutInit
protected

Cut in residual for first iterartion.

Definition at line 325 of file MillePede2.h.

◆ fRunWgh

double o2::fwdalign::MillePede2::fRunWgh
protected

run weight

Definition at line 374 of file MillePede2.h.

◆ fSelFirst

int o2::fwdalign::MillePede2::fSelFirst
protected

event selection start

Definition at line 369 of file MillePede2.h.

◆ fSelLast

int o2::fwdalign::MillePede2::fSelLast
protected

event selection end

Definition at line 370 of file MillePede2.h.

◆ fSigmaPar

std::vector<double> o2::fwdalign::MillePede2::fSigmaPar
protected

[fNGloPar] Sigma of allowed variation of global parameter

Definition at line 338 of file MillePede2.h.

◆ fSumChi2

float o2::fwdalign::MillePede2::fSumChi2
protected

Definition at line 357 of file MillePede2.h.

◆ fTreeChi2

TTree* o2::fwdalign::MillePede2::fTreeChi2
protected

Definition at line 356 of file MillePede2.h.

◆ fUseRecordWeight

bool o2::fwdalign::MillePede2::fUseRecordWeight
protected

force or ignore the record weight

Definition at line 366 of file MillePede2.h.

◆ fVecBGlo

std::vector<double> o2::fwdalign::MillePede2::fVecBGlo
protected

Definition at line 334 of file MillePede2.h.

◆ fVecBLoc

std::vector<double> o2::fwdalign::MillePede2::fVecBLoc
protected

[fNLocPar] Vector B local (parameters)

Definition at line 332 of file MillePede2.h.

◆ fWghScl

double o2::fwdalign::MillePede2::fWghScl[2]
protected

optional rescaling for odd/even residual weights (see its usage in LocalFit)

Definition at line 375 of file MillePede2.h.


The documentation for this class was generated from the following files: