Project
Loading...
Searching...
No Matches
MillePede2.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
18
19#ifndef ALICEO2_FWDALIGN_MILLEPEDE2_H
20#define ALICEO2_FWDALIGN_MILLEPEDE2_H
21
22#include <vector>
23#include <TString.h>
24#include <TTree.h>
33
34class TFile;
35class TStopwatch;
36class TArrayL;
37class TArrayF;
38
39namespace o2
40{
41namespace fwdalign
42{
43
45{
46 public:
47 //
48 enum { kFailed,
50 kNoInversion }; // used global matrix solution methods
51 enum { kFixParID = -1 }; // dummy id for fixed param
52
53 MillePede2();
55 virtual ~MillePede2();
57 {
58 printf("Dummy\n");
59 return *this;
60 }
61
63 int InitMille(int nGlo, const int nLoc,
64 const int lNStdDev = -1, const double lResCut = -1.,
65 const double lResCutInit = -1., const std::vector<int>& regroup = {});
66
67 int GetNGloPar() const { return fNGloPar; }
68 int GetNGloParIni() const { return fNGloParIni; }
69 std::vector<int> GetRegrouping() const { return fkReGroup; }
70 int GetNLocPar() const { return fNLocPar; }
71 long GetNLocalEquations() const { return fNLocEquations; }
72 int GetCurrentIteration() const { return fIter; }
73 int GetNMaxIterations() const { return fMaxIter; }
74 int GetNStdDev() const { return fNStdDev; }
77 int GetNLocalFits() const { return fNLocFits; }
79 int GetNGlobalsFixed() const { return fNGloFix; }
80 int GetGlobalSolveStatus() const { return fGloSolveStatus; }
81 float GetChi2CutFactor() const { return fChi2CutFactor; }
82 float GetChi2CutRef() const { return fChi2CutRef; }
83 float GetResCurInit() const { return fResCutInit; }
84 float GetResCut() const { return fResCut; }
85 int GetMinPntValid() const { return fMinPntValid; }
86 int GetRGId(int i) const { return fkReGroup.size() ? (fkReGroup[i] < 0 ? -1 : fkReGroup[i]) : i; }
87 int GetProcessedPoints(int i) const
88 {
89 int ir = GetRGId(i);
90 return ir <= 0 ? 0 : fProcPnt[ir];
91 }
92 std::vector<int> GetProcessedPoints() const { return fProcPnt; }
93 int GetParamGrID(int i) const
94 {
95 int ir = GetRGId(i);
96 return ir <= 0 ? 0 : fParamGrID[ir];
97 }
98
99 MatrixSq* GetGlobalMatrix() const { return fMatCGlo; }
100 SymMatrix* GetLocalMatrix() const { return fMatCLoc; }
101 std::vector<double> GetGlobals() const { return fVecBGlo; }
102 std::vector<double> GetDeltaPars() const { return fDeltaPar; }
103 std::vector<double> GetInitPars() const { return fInitPar; }
104 std::vector<double> GetSigmaPars() const { return fSigmaPar; }
105 std::vector<bool> GetIsLinear() const { return fIsLinear; }
106 double GetFinalParam(int i) const
107 {
108 int ir = GetRGId(i);
109 return ir < 0 ? 0 : fDeltaPar[ir] + fInitPar[ir];
110 }
111 double GetFinalError(int i) const { return GetParError(i); }
112
114 double GetPull(int i) const;
115
116 double GetGlobal(int i) const
117 {
118 int ir = GetRGId(i);
119 return ir < 0 ? 0 : fVecBGlo[ir];
120 }
121 double GetInitPar(int i) const
122 {
123 int ir = GetRGId(i);
124 return ir < 0 ? 0 : fInitPar[ir];
125 }
126 double GetSigmaPar(int i) const
127 {
128 int ir = GetRGId(i);
129 return ir < 0 ? 0 : fSigmaPar[ir];
130 }
131 bool GetIsLinear(int i) const
132 {
133 int ir = GetRGId(i);
134 return ir < 0 ? 0 : fIsLinear[ir];
135 }
136 static bool IsGlobalMatSparse() { return fgIsMatGloSparse; }
137 static bool IsWeightSigma() { return fgWeightSigma; }
138 void SetWghScale(const double wOdd = 1, const double wEven = 1)
139 {
140 fWghScl[0] = wOdd;
141 fWghScl[1] = wEven;
142 }
143 void SetUseRecordWeight(const bool v = true) { fUseRecordWeight = v; }
144 bool GetUseRecordWeight() const { return fUseRecordWeight; }
145 void SetMinRecordLength(const int v = 1) { fMinRecordLength = v; }
146 int GetMinRecordLength() const { return fMinRecordLength; }
147
148 void SetParamGrID(const int grID, int i)
149 {
150 int ir = GetRGId(i);
151 if (ir < 0) {
152 return;
153 }
154 fParamGrID[ir] = grID;
155 if (fNGroupsSet < grID) {
156 fNGroupsSet = grID;
157 }
158 }
159 void ResetRecord() { fRecord->Reset(); }
160 void SetNGloPar(const int n) { fNGloPar = n; }
161 void SetNLocPar(const int n) { fNLocPar = n; }
162 void SetNMaxIterations(const int n = 10) { fMaxIter = n; }
163 void SetNStdDev(const int n) { fNStdDev = n; }
164 void SetChi2CutFactor(const float v) { fChi2CutFactor = v; }
165 void SetChi2CutRef(const float v) { fChi2CutRef = v; }
166 void SetResCurInit(const float v) { fResCutInit = v; }
167 void SetResCut(const float v) { fResCut = v; }
168 void SetMinPntValid(const int n) { fMinPntValid = n > 0 ? n : 1; }
169 static void SetGlobalMatSparse(const bool v = true) { fgIsMatGloSparse = v; }
170 static void SetWeightSigma(const bool v = true) { fgWeightSigma = v; }
171
173 void SetInitPars(const double* par);
174
176 void SetSigmaPars(const double* par);
177
179 void SetInitPar(int i, double par);
180
182 void SetSigmaPar(int i, double par);
183
185 int GlobalFit(std::vector<double>& par,
186 std::vector<double>& error,
187 std::vector<double>& pull);
188
190 int GlobalFitIteration();
191
193 int SolveGlobalMatEq();
194
195 static void SetInvChol(const bool v = true) { fgInvChol = v; }
196 static void SetMinResPrecondType(const int tp = 0) { fgMinResCondType = tp; }
197 static void SetMinResTol(double val = 1e-12) { fgMinResTol = val; }
198 static void SetMinResMaxIter(const int val = 2000) { fgMinResMaxIter = val; }
200 static void SetNKrylovV(const int val = 60) { fgNKrylovV = val; }
201
202 static bool GetInvChol() { return fgInvChol; }
203 static int GetMinResPrecondType() { return fgMinResCondType; }
204 static double GetMinResTol() { return fgMinResTol; }
205 static int GetMinResMaxIter() { return fgMinResMaxIter; }
206 static int GetIterSolverType() { return fgIterSol; }
207 static int GetNKrylovV() { return fgNKrylovV; }
208
210 double GetParError(int iPar) const;
211
213 int PrintGlobalParameters() const;
214
216 void SetRejRunList(const int* runs, const int nruns);
217
219 void SetAccRunList(const int* runs, const int nruns, const float* wghList = nullptr);
220
222 bool IsRecordAcceptable();
223
225 int SetIterations(const double lChi2CutFac);
226
227 // constraints
228
230 void SetGlobalConstraint(const std::vector<double>& dergb,
231 const double val, const double sigma = 0,
232 const bool doPrint = false);
233
235 void SetGlobalConstraint(const std::vector<int>& indgb,
236 const std::vector<double>& dergb,
237 const int ngb, const double val,
238 double sigma = 0, const bool doPrint = false);
239
241 void SetLocalEquation(std::vector<double>& dergb, std::vector<double>& derlc,
242 const double lMeas, const double lSigma);
243
246 void SetLocalEquation(std::vector<int>& indgb, std::vector<double>& dergb,
247 int ngb, std::vector<int>& indlc,
248 std::vector<double>& derlc, const int nlc,
249 const double lMeas, const double lSigma);
250
252 const char* GetRecChi2FName() const { return fRecChi2FName.Data(); }
253
255 bool InitChi2Storage(const int nEntriesAutoSave = 10000);
256
258 void EndChi2Storage();
259
261 long GetSelFirst() const { return fSelFirst; }
262 long GetSelLast() const { return fSelLast; }
263 void SetSelFirst(long v) { fSelFirst = v; }
264 void SetSelLast(long v) { fSelLast = v; }
265
266 void SetRecord(o2::fwdalign::MillePedeRecord* aRecord) { fRecord = aRecord; }
271
275 float Chi2DoFLim(int nSig, int nDoF) const;
276
277 // aliases for compatibility with millipede1
278 void SetParSigma(int i, double par) { SetSigmaPar(i, par); }
279 void SetGlobalParameters(double* par) { SetInitPars(par); }
280 void SetNonLinear(int index, bool v = true)
281 {
282 int id = GetRGId(index);
283 if (id < 0) {
284 return;
285 }
286 fIsLinear[id] = !v;
287 }
288
291
292 protected:
294 void ReadRecordData(const long recID, const bool doPrint = false);
295
297 void ReadRecordConstraint(const long recID, const bool doPrint = false);
298
302 int LocalFit(std::vector<double>& localParams);
303
304 bool IsZero(const double v, const double eps = 1e-16) const { return TMath::Abs(v) < eps; }
305
306 protected:
311
313 int fIter;
322
326 float fResCut;
328
330 std::vector<int> fParamGrID;
331 std::vector<int> fProcPnt;
332 std::vector<double> fVecBLoc;
333 std::vector<double> fDiagCGlo;
334 std::vector<double> fVecBGlo;
335
336 std::vector<double> fInitPar;
337 std::vector<double> fDeltaPar;
338 std::vector<double> fSigmaPar;
339
340 std::vector<bool> fIsLinear;
341 std::vector<bool> fConstrUsed;
342
343 std::vector<int> fGlo2CGlo;
344 std::vector<int> fCGlo2Glo;
345
346 // Matrices
350 std::vector<int> fFillIndex;
351 std::vector<double> fFillValue;
352
356 TTree* fTreeChi2;
357 float fSumChi2;
360
362
371 TArrayL* fRejRunList;
372 TArrayL* fAccRunList;
373 TArrayF* fAccRunListWgh;
374 double fRunWgh;
375 double fWghScl[2];
376 std::vector<int> fkReGroup;
377
378 static bool fgInvChol;
379 static bool fgWeightSigma;
380 static bool fgIsMatGloSparse;
381 static int fgMinResCondType;
382 static double fgMinResTol;
383 static int fgMinResMaxIter;
384 static int fgIterSol;
385 static int fgNKrylovV;
386
387 // processed data record bufferization
392
394};
395
396} // namespace fwdalign
397} // namespace o2
398
399#endif
int32_t i
Sparse matrix class (from AliROOT), used as a global matrix for MillePede2.
Abstract class (from AliROOT) for square matrix used for millepede2 operation.
Class to store the data of single track processing.
Class dedicated to read MillePedeRecords from ROOT files.
Class dedicated to write MillePedeRecords to output file for FWDALIGN.
General class (from AliROOT) for solving large system of linear equations.
Class for rectangular matrix used for millepede2 operation.
Fast symmetric matrix (from AliROOT) with dynamically expandable size.
void SetResCut(const float v)
Definition MillePede2.h:167
std::vector< bool > fIsLinear
[fNGloPar] Flag for linear parameters
Definition MillePede2.h:340
void ReadRecordConstraint(const long recID, const bool doPrint=false)
read constraint record (if any) at entry id recID
static void SetWeightSigma(const bool v=true)
Definition MillePede2.h:170
std::vector< int > fkReGroup
optional regrouping of parameters wrt ID's from the records
Definition MillePede2.h:376
void SetChi2CutFactor(const float v)
Definition MillePede2.h:164
void SetMinPntValid(const int n)
Definition MillePede2.h:168
std::vector< int > fCGlo2Glo
[fNGloPar] compressed ID to global ID buffer
Definition MillePede2.h:344
static int fgNKrylovV
size of Krylov vectors buffer in FGMRES
Definition MillePede2.h:385
void SetGlobalConstraint(const std::vector< double > &dergb, const double val, const double sigma=0, const bool doPrint=false)
define a constraint equation
o2::fwdalign::MilleRecordWriter * fConstraintsRecWriter
constraints record writer
Definition MillePede2.h:389
o2::fwdalign::MilleRecordReader * fConstraintsRecReader
constraints record reader
Definition MillePede2.h:391
TArrayL * fAccRunList
list of runs to select (if any)
Definition MillePede2.h:372
float fResCut
Cut in residual for other iterartiona.
Definition MillePede2.h:326
int GetMinRecordLength() const
Definition MillePede2.h:146
int SolveGlobalMatEq()
solve global matrix equation MatCGlob*X=VecBGlo and store the result in the VecBGlo
int fNGloPar
number of global parameters
Definition MillePede2.h:308
static void SetInvChol(const bool v=true)
Definition MillePede2.h:195
TString fRecChi2TreeName
Name of chi2 per record tree.
Definition MillePede2.h:355
bool GetUseRecordWeight() const
Definition MillePede2.h:144
int GetNLocalFits() const
Definition MillePede2.h:77
static double GetMinResTol()
Definition MillePede2.h:204
std::vector< int > fProcPnt
[fNGloPar] N of processed points per global variable
Definition MillePede2.h:331
int fIter
Current iteration.
Definition MillePede2.h:313
static int fgMinResCondType
Type of the preconditioner for MinRes method.
Definition MillePede2.h:381
void SetWghScale(const double wOdd=1, const double wEven=1)
Definition MillePede2.h:138
void SetResCurInit(const float v)
Definition MillePede2.h:166
bool InitChi2Storage(const int nEntriesAutoSave=10000)
initialize the file and tree to store chi2 from LocalFit()
std::vector< int > fFillIndex
[fNGloPar] auxilary index array for fast matrix fill
Definition MillePede2.h:350
std::vector< int > fParamGrID
[fNGloPar] group id for the every parameter
Definition MillePede2.h:330
static void SetIterSolverType(const int val=MinResSolve::kSolMinRes)
Definition MillePede2.h:199
bool fLocFitAdd
Add contribution of carrent track (and not eliminate it)
Definition MillePede2.h:365
int fNGloParIni
number of global parameters before grouping
Definition MillePede2.h:309
static int fgMinResMaxIter
Max number of iterations for the MinRes method.
Definition MillePede2.h:383
void SetRejRunList(const int *runs, const int nruns)
set the list of runs to be rejected
long fNLocFitsRejected
Number of local fits rejected.
Definition MillePede2.h:319
SymMatrix * GetLocalMatrix() const
Definition MillePede2.h:100
int LocalFit(std::vector< double > &localParams)
Perform local parameters fit once all the local equations have been set.
static bool IsGlobalMatSparse()
Definition MillePede2.h:136
void DisableRecordWriter()
Disable record writer for DPL process.
Definition MillePede2.h:290
std::vector< double > fVecBGlo
Definition MillePede2.h:334
bool fDisableRecordWriter
disable record writer for DPL process
Definition MillePede2.h:367
static void SetNKrylovV(const int val=60)
Definition MillePede2.h:200
int GetRGId(int i) const
Definition MillePede2.h:86
int GetNGlobalConstraints() const
Definition MillePede2.h:75
int GlobalFitIteration()
perform global parameters fit once all the local equations have been fitted
static int fgIterSol
type of iterative solution: MinRes or FGMRES
Definition MillePede2.h:384
int GetProcessedPoints(int i) const
Definition MillePede2.h:87
o2::fwdalign::RectMatrix * fMatCGloLoc
Rectangular matrix C g*l.
Definition MillePede2.h:349
long GetNLocalEquations() const
Definition MillePede2.h:71
static int GetMinResMaxIter()
Definition MillePede2.h:205
int fNLocPar
number of local parameters
Definition MillePede2.h:307
std::vector< double > fVecBLoc
[fNLocPar] Vector B local (parameters)
Definition MillePede2.h:332
const char * GetRecChi2FName() const
return file name where is stored chi2 from LocalFit()
Definition MillePede2.h:252
long fCurrRecDataID
ID of the current data record.
Definition MillePede2.h:363
long GetNLocalFitsRejected() const
Definition MillePede2.h:78
std::vector< int > GetProcessedPoints() const
Definition MillePede2.h:92
static void SetMinResPrecondType(const int tp=0)
Definition MillePede2.h:196
int fGloSolveStatus
Status of global solver at current step.
Definition MillePede2.h:321
static bool GetInvChol()
Definition MillePede2.h:202
o2::fwdalign::MilleRecordReader * fRecordReader
data record reader
Definition MillePede2.h:390
int GetNGlobalsFixed() const
Definition MillePede2.h:79
void SetNStdDev(const int n)
Definition MillePede2.h:163
void SetNonLinear(int index, bool v=true)
Definition MillePede2.h:280
std::vector< double > fDiagCGlo
[fNGloPar] Initial diagonal elements of C global matrix
Definition MillePede2.h:333
long fNLocEquations
Number of local equations.
Definition MillePede2.h:312
int fMinRecordLength
ignore shorter records
Definition MillePede2.h:368
std::vector< double > fSigmaPar
[fNGloPar] Sigma of allowed variation of global parameter
Definition MillePede2.h:338
int fNLagrangeConstraints
Number of constraint equations requiring Lagrange multiplier.
Definition MillePede2.h:317
float GetResCut() const
Definition MillePede2.h:84
std::vector< bool > GetIsLinear() const
Definition MillePede2.h:105
double fWghScl[2]
optional rescaling for odd/even residual weights (see its usage in LocalFit)
Definition MillePede2.h:375
int fNStdDev
Number of standard deviations for chi2 cut.
Definition MillePede2.h:315
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
double GetFinalError(int i) const
Definition MillePede2.h:111
std::vector< double > fDeltaPar
[fNGloPar] Variation of global parameters
Definition MillePede2.h:337
std::vector< double > GetDeltaPars() const
Definition MillePede2.h:102
void SetParSigma(int i, double par)
Definition MillePede2.h:278
static void SetMinResTol(double val=1e-12)
Definition MillePede2.h:197
float GetChi2CutFactor() const
Definition MillePede2.h:81
static bool fgIsMatGloSparse
Type of the global matrix (sparse ...)
Definition MillePede2.h:380
int GetParamGrID(int i) const
Definition MillePede2.h:93
int fSelFirst
event selection start
Definition MillePede2.h:369
void SetConstraintsRecWriter(o2::fwdalign::MilleRecordWriter *myP)
Definition MillePede2.h:268
int fNGloFix
Number of globals fixed by user.
Definition MillePede2.h:320
float fResCutInit
Cut in residual for first iterartion.
Definition MillePede2.h:325
void SetConstraintsRecReader(o2::fwdalign::MilleRecordReader *myP)
Definition MillePede2.h:270
static bool IsWeightSigma()
Definition MillePede2.h:137
int GetNMaxIterations() const
Definition MillePede2.h:73
int GetGlobalSolveStatus() const
Definition MillePede2.h:80
std::vector< double > fFillValue
[fNGloPar] auxilary value array for fast matrix fill
Definition MillePede2.h:351
void SetParamGrID(const int grID, int i)
Definition MillePede2.h:148
static int GetMinResPrecondType()
Definition MillePede2.h:203
void EndChi2Storage()
write tree and close file where are stored chi2 from LocalFit()
double GetParError(int iPar) const
return error for parameter iPar
double GetGlobal(int i) const
Definition MillePede2.h:116
MillePede2 & operator=(const MillePede2 &)
Definition MillePede2.h:56
o2::fwdalign::MilleRecordWriter * fRecordWriter
data record writer
Definition MillePede2.h:388
std::vector< int > fGlo2CGlo
Flag for used constraints.
Definition MillePede2.h:343
void SetNGloPar(const int n)
Definition MillePede2.h:160
void SetLocalEquation(std::vector< double > &dergb, std::vector< double > &derlc, const double lMeas, const double lSigma)
assing derivs of loc.eq.
double GetPull(int i) const
return pull for parameter iPar
bool fUseRecordWeight
force or ignore the record weight
Definition MillePede2.h:366
void ReadRecordData(const long recID, const bool doPrint=false)
read data record (if any) at entry recID
std::vector< double > GetGlobals() const
Definition MillePede2.h:101
int SetIterations(const double lChi2CutFac)
Number of iterations is calculated from lChi2CutFac.
int fNGloSize
final size of the global matrix (NGloPar+NConstraints)
Definition MillePede2.h:310
int fNGroupsSet
number of groups set
Definition MillePede2.h:329
TArrayL * fRejRunList
list of runs to reject (if any)
Definition MillePede2.h:371
void SetRecord(o2::fwdalign::MillePedeRecord *aRecord)
Definition MillePede2.h:266
int PrintGlobalParameters() const
print the final results into the logfile
void SetMinRecordLength(const int v=1)
Definition MillePede2.h:145
bool IsZero(const double v, const double eps=1e-16) const
Definition MillePede2.h:304
double GetSigmaPar(int i) const
Definition MillePede2.h:126
int fMinPntValid
min number of points for global to vary
Definition MillePede2.h:327
int GetCurrentIteration() const
Definition MillePede2.h:72
std::vector< bool > fConstrUsed
Definition MillePede2.h:341
std::vector< double > GetSigmaPars() const
Definition MillePede2.h:104
int fNGloConstraints
Number of constraint equations.
Definition MillePede2.h:316
float fChi2CutFactor
Cut factor for chi2 cut to accept local fit.
Definition MillePede2.h:323
int GetNGloParIni() const
Definition MillePede2.h:68
std::vector< int > GetRegrouping() const
Definition MillePede2.h:69
double fRunWgh
run weight
Definition MillePede2.h:374
int GetNLagrangeConstraints() const
Definition MillePede2.h:76
int fSelLast
event selection end
Definition MillePede2.h:370
TArrayF * fAccRunListWgh
optional weights for data of accepted runs (if any)
Definition MillePede2.h:373
float GetResCurInit() const
Definition MillePede2.h:83
int GlobalFit(std::vector< double > &par, std::vector< double > &error, std::vector< double > &pull)
performs a requested number of global iterations
void SetNMaxIterations(const int n=10)
Definition MillePede2.h:162
void SetSigmaPars(const double *par)
initialize sigmas, account for eventual grouping
void SetSigmaPar(int i, double par)
initialize sigma, account for eventual grouping
std::vector< double > GetInitPars() const
Definition MillePede2.h:103
void SetRecordWriter(o2::fwdalign::MilleRecordWriter *myP)
Definition MillePede2.h:267
static void SetGlobalMatSparse(const bool v=true)
Definition MillePede2.h:169
int GetMinPntValid() const
Definition MillePede2.h:85
void SetUseRecordWeight(const bool v=true)
Definition MillePede2.h:143
o2::fwdalign::MillePedeRecord * GetRecord() const
Definition MillePede2.h:260
double GetInitPar(int i) const
Definition MillePede2.h:121
o2::fwdalign::MillePedeRecord * fRecord
Buffer of measurements records.
Definition MillePede2.h:361
void SetRecordReader(o2::fwdalign::MilleRecordReader *myP)
Definition MillePede2.h:269
void SetAccRunList(const int *runs, const int nruns, const float *wghList=nullptr)
set the list of runs to be selected
static bool fgInvChol
Invert global matrix in Cholesky solver.
Definition MillePede2.h:378
void SetInitPars(const double *par)
initialize parameters, account for eventual grouping
float GetChi2CutRef() const
Definition MillePede2.h:82
static int GetIterSolverType()
Definition MillePede2.h:206
double GetFinalParam(int i) const
Definition MillePede2.h:106
o2::fwdalign::MatrixSq * fMatCGlo
Matrix C global.
Definition MillePede2.h:348
static double fgMinResTol
Tolerance for MinRes solution.
Definition MillePede2.h:382
o2::fwdalign::SymMatrix * fMatCLoc
Matrix C local.
Definition MillePede2.h:347
static void SetMinResMaxIter(const int val=2000)
Definition MillePede2.h:198
std::vector< double > fInitPar
Vector B global (parameters)
Definition MillePede2.h:336
MatrixSq * GetGlobalMatrix() const
Definition MillePede2.h:99
ClassDef(MillePede2, 0)
long fCurrRecConstrID
ID of the current constraint record.
Definition MillePede2.h:364
void SetNLocPar(const int n)
Definition MillePede2.h:161
int fMaxIter
Maximum number of iterations.
Definition MillePede2.h:314
void SetChi2CutRef(const float v)
Definition MillePede2.h:165
float Chi2DoFLim(int nSig, int nDoF) const
return the limit in chi^2/nd for n sigmas stdev authorized
long fNLocFits
Number of local fits.
Definition MillePede2.h:318
static bool fgWeightSigma
weight parameter constraint by statistics
Definition MillePede2.h:379
bool IsRecordAcceptable()
validate record according run lists set by the user
bool GetIsLinear(int i) const
Definition MillePede2.h:131
float fChi2CutRef
Reference cut for chi2 cut to accept local fit.
Definition MillePede2.h:324
void SetGlobalParameters(double *par)
Definition MillePede2.h:279
void SetInitPar(int i, double par)
initialize param, account for eventual grouping
Store residuals and local/global deriavtives from a single track processing.
Class for rectangular matrix used for millepede2 operation.
Definition RectMatrix.h:31
Fast symmetric matrix with dynamically expandable size.
Definition SymMatrix.h:38
GLdouble n
Definition glcorearb.h:1982
GLenum src
Definition glcorearb.h:1767
const GLdouble * v
Definition glcorearb.h:832
GLuint index
Definition glcorearb.h:781
GLuint GLfloat * val
Definition glcorearb.h:1582
GLuint id
Definition glcorearb.h:650
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
o2::InteractionRecord ir(0, 0)