Definitions and data fields; construction and fitting. More...
Data Types | |
| type | gblpoint |
| Point on trajectory. More... | |
Public Member Functions | |
| subroutine | gblfit (cdw, mrank, np, ndf, chi2, wls) |
| Perform fit of trajectory. | |
| subroutine | gblprp |
| Prepare broken lines trajectory. | |
| subroutine | gblcjc |
| Calculate broken lines from point to point jacobians. | |
| subroutine | gblini (lprnt, icoord) |
| Initialize. | |
| subroutine | gbladp (ajac, ipoint) |
| Add point to trajectory. | |
| subroutine | gbladm (proj, res, prec) |
| Add 2D measurement to current point. | |
| subroutine | gbladl (nder, der, iret) |
| Add local derivatives to measurement. | |
| subroutine | gbladg (nder, lder, der, iret) |
| Add global derivatives to measurement. | |
| subroutine | gblads (res, prec) |
| Add (thin) scatterer to current point. | |
| subroutine | gbldmp |
| Dump trajectory definition. | |
| subroutine | gbldat |
| Generate DATa record. | |
| subroutine | gblder (ipoint, idir, w, wj, dw) |
| get (matrices and vectors for) derivatives. | |
| subroutine | gblmat |
| Build MATrix and rhs vector. | |
| subroutine | gblch2 (idwm, chi2, swgt) |
| Calculate Chi2. | |
| subroutine | gblmp2 (iret) |
| generate Millepede-II record | |
| subroutine | gbljac (ipoint, itrans, ioff1) |
| Get jacobian (transposed). broken lines parameter (q/p,..,u_i,..) to local parameter (q/p,alpha,u) | |
| subroutine | gblres (ipoint, dpar, dcov) |
| Get parameters and covariance matrix at point. | |
| subroutine | gbladx (ipoint, dprc) |
| Add (inverse covariance matrix from) external seed. | |
| subroutine | gblinu (a, b) |
| Calculate offset part of inverse jacobian. | |
Public Attributes | |
| integer, parameter | maxfitpar = 250 |
| max. number of fit parameters | |
| integer, parameter | maxfitsymmatsize = (maxFitPar*maxFitPar+maxFitPar)/2 |
| integer, parameter | maxbandwidth = 10 |
| max. band width | |
| integer, parameter | maxbordersize = 10 |
| max. border size | |
| integer, parameter | maxtrackpar = maxBorderSize+5 |
| max. number of local track parameters | |
| integer, parameter | maxtracksymmatsize = (maxTrackPar*maxTrackPar+maxTrackPar)/2 |
| integer, parameter | maxpoints = 1000 |
| max. points | |
| integer, parameter | sizedatabuffer = 10*maxPoints |
| max. integrated size of data blocks | |
| integer | trajlevel |
| level of (preparation of) trajectory (fit) | |
| integer | printlevel |
| print level | |
| integer | offsetdimension |
| dimension of offsets (2: 2D offsets for track in 3D, 1: 1D offsets for track in 2D) | |
| integer | numpoints |
| number of points | |
| integer | nummeas |
| number (of points) with measurement | |
| integer | numscat |
| number (of points) with scatterer | |
| integer | numoffsets |
| number (of points) with offsets (as fit parameter) | |
| integer | numkinks |
| number of (multiple scattering) kinks | |
| integer | lastoffset |
| last point with offset | |
| integer | lastscatterer |
| last point with scatterer | |
| integer | numfitpar |
| number of fit parameters | |
| integer | numcurv |
| flag (0/1) for usage of Q/P as fit parameter | |
| integer | bandsize |
| band size | |
| integer | numaddlocpar |
| number of additional local track parameters | |
| integer | extseedpoint |
| point with external seed (or 0) | |
| integer | firstactivecoord |
| first active offset coordinate (0: u_1, 1: u_2) | |
| integer | lastdownweightmethod |
| last used down-weighting method | |
| double precision, dimension(maxfitpar) | vecb |
| right hand side of linear equation system (A*x=b) | |
| double precision, dimension(maxfitsymmatsize) | mata |
| (sym.) matrix of linear equation system (A*x=b) | |
| double precision, dimension(maxtracksymmatsize) | extseedmat |
| external seed (precision matrix) | |
| double precision, dimension(maxtrackpar *maxtrackpar) | jactracktofit |
| jacobian for transformation fit to track parameter | |
| type(gblpoint), dimension(maxpoints) | points |
| list of GblPoints | |
| integer | numdatablocks |
| number of data blocks with measurements or kinks | |
| integer | integdatasize |
| integrated size of data blocks | |
| integer | maxdatasize |
| max. integrated size | |
| integer, dimension(sizedatabuffer) | intdata |
| integer part of data blocks (lower part, 1..mdat) or local/global derivatives (upper part, mdat+1..mxdat) | |
| real, dimension(sizedatabuffer) | floatdata |
| float part of data blocks or local/global derivatives | |
| integer | maxusedfitpar = 0 |
| max. number of fit parameters used | |
| integer | lastnumfitpar = 0 |
| number of fit parameters from last fit | |
| integer | lastbordersize = 0 |
| border size from last fit | |
| integer | lastbandwidth = 0 |
| band width from last fit | |
Definitions and data fields; construction and fitting.
Definition at line 84 of file gbltraj.f90.
| subroutine gbltraj::gbladg | ( | integer, intent(in) | nder, |
| integer, dimension(nder), intent(in) | lder, | ||
| real, dimension(2,nder), intent(in) | der, | ||
| integer, intent(out) | iret | ||
| ) |
Add global derivatives to measurement.
| [in] | NDER | number of local derivatives |
| [in] | LDER | labels for global derivatives |
| [in] | DER | local derivatives |
| [out] | IRET | number of non zero derivatives added |
Definition at line 532 of file gbltraj.f90.
| subroutine gbltraj::gbladl | ( | integer, intent(in) | nder, |
| real, dimension(2,nder), intent(in) | der, | ||
| integer, intent(out) | iret | ||
| ) |
Add local derivatives to measurement.
| [in] | NDER | number of local derivatives |
| [in] | DER | local derivatives |
| [out] | IRET | number of non zero derivatives added |
Definition at line 478 of file gbltraj.f90.
| subroutine gbltraj::gbladm | ( | double precision, dimension(2,2), intent(in) | proj, |
| real, dimension(2), intent(in) | res, | ||
| real, dimension(2), intent(in) | prec | ||
| ) |
Add 2D measurement to current point.
| [in] | PROJ | projection matrix of measurement directions into local system (dm/du) |
| [in] | RES | residuals (m) |
| [in] | PREC | diagonal of inverse covariance matrix |
Definition at line 442 of file gbltraj.f90.
Referenced by test().
| subroutine gbltraj::gbladp | ( | double precision, dimension(5,5), intent(in) | ajac, |
| integer, intent(out) | ipoint | ||
| ) |
Add point to trajectory.
| [in] | AJAC | jacobian from previous point |
| [out] | IPOINT | identifier |
Definition at line 386 of file gbltraj.f90.
Referenced by test().
| subroutine gbltraj::gblads | ( | real, dimension(2), intent(in) | res, |
| real, dimension(2), intent(in) | prec | ||
| ) |
Add (thin) scatterer to current point.
Changes local track direction.
| [in] | RES | values for initial kinks (in case of iterating) |
| [in] | PREC | diagonal of inverse (multiple scattering) covariance matrix |
Definition at line 587 of file gbltraj.f90.
Referenced by test().
| subroutine gbltraj::gbladx | ( | integer, intent(in) | ipoint, |
| double precision, dimension(*), intent(in) | dprc | ||
| ) |
Add (inverse covariance matrix from) external seed.
| [in] | IPOINT | (signed) point (<0: side towards previous point, >0: side towards next point) |
| [in] | DPRC | precision matrix (inverse covariance) from external seed (NP2 double precision values, symmetric storage mode, NP2=(NP+1)*NP/2, NP is number of track parameters: 5 + local par.) |
Definition at line 1404 of file gbltraj.f90.
Referenced by test().
| subroutine gbltraj::gblch2 | ( | integer, intent(in) | idwm, |
| real, intent(out) | chi2, | ||
| real, intent(out) | swgt | ||
| ) |
Calculate Chi2.
| [in] | IDWM | down-weighting method (0-3) |
| [out] | CHI2 | Chi2 |
| [out] | SWGT | sum of weights |
Definition at line 1048 of file gbltraj.f90.
Referenced by gblfit().
| subroutine gbltraj::gblcjc | ( | ) |
Calculate broken lines from point to point jacobians.
Definition at line 256 of file gbltraj.f90.
References gblinu().
Referenced by gblprp().
| subroutine gbltraj::gbldat | ( | ) |
| subroutine gbltraj::gblder | ( | integer, intent(inout) | ipoint, |
| integer, intent(in) | idir, | ||
| double precision, dimension(2,2), intent(out) | w, | ||
| double precision, dimension(2,2), intent(out) | wj, | ||
| double precision, dimension(2), intent(out) | dw | ||
| ) |
get (matrices and vectors for) derivatives.
| [in] | IPOINT | point |
| [in] | IDIR | direction |
| [out] | W | W (=(+/-)S^-1) |
| [out] | WJ | W*J |
| [out] | DW | W*d |
Definition at line 941 of file gbltraj.f90.
| subroutine gbltraj::gbldmp | ( | ) |
Dump trajectory definition.
Definition at line 624 of file gbltraj.f90.
| subroutine gbltraj::gblfit | ( | character (len=*), intent(in) | cdw, |
| integer, intent(out) | mrank, | ||
| integer, intent(out) | np, | ||
| integer, intent(out) | ndf, | ||
| real, intent(out) | chi2, | ||
| real, intent(out) | wls | ||
| ) |
Perform fit of trajectory.
Optionally iterate for outlier down-weighting.
| [in] | CDW | string defining iterations for outlier down weighting, one char per iteration (C: Cauchy, H: Huber, T: Tukey) |
| [out] | MRANK | rank of measurements |
| [out] | NP | number of track parameter at given point |
| [out] | NDF | degrees of freedom |
| [out] | CHI2 | Chi2 |
| [out] | WLS | lost measurements: N-sum(weight) |
Definition at line 166 of file gbltraj.f90.
References gblch2(), gblmat(), gblprp(), and sqmibb().
Referenced by test().
| subroutine gbltraj::gblini | ( | integer, intent(in) | lprnt, |
| integer, intent(in), optional | icoord | ||
| ) |
Initialize.
| [in] | LPRNT | print level |
| [in] | ICOORD | coordinate (1: u_1, 2: u_2) to use |
Definition at line 338 of file gbltraj.f90.
Referenced by test().
| subroutine gbltraj::gblinu | ( | double precision, dimension(5,5), intent(in) | a, |
| double precision, dimension(5,5), intent(out) | b | ||
| ) |
Calculate offset part of inverse jacobian.
| [in] | A | (5*5) matrix A |
| [out] | B | (5*5) matrix B with last 2 rows of inverse(A) |
Definition at line 1435 of file gbltraj.f90.
Referenced by gblcjc().
| subroutine gbltraj::gbljac | ( | integer, intent(in) | ipoint, |
| integer, intent(in) | itrans, | ||
| integer, intent(out) | ioff1 | ||
| ) |
Get jacobian (transposed). broken lines parameter (q/p,..,u_i,..) to local parameter (q/p,alpha,u)
| [in] | IPOINT | (signed) point |
| [in] | ITRANS | =0 not transposed, =1 transposed |
| [out] | IOFF1 | offsets IOFF1,IOFF1+1 needed to define offset and slope at IPOINT |
Definition at line 1165 of file gbltraj.f90.
References gblder().
| subroutine gbltraj::gblmat | ( | ) |
| subroutine gbltraj::gblmp2 | ( | integer, intent(out) | iret | ) |
generate Millepede-II record
| [out] | IRET | number MillePede measurements in record |
Definition at line 1111 of file gbltraj.f90.
References gblprp(), and mille().
Referenced by test().
| subroutine gbltraj::gblprp | ( | ) |
| subroutine gbltraj::gblres | ( | integer, intent(inout) | ipoint, |
| double precision, dimension(*), intent(out) | dpar, | ||
| double precision, dimension(*), intent(out) | dcov | ||
| ) |
Get parameters and covariance matrix at point.
| [in] | IPOINT | (signed) point (<0: side towards previous point, >0: side towards next point) |
| [out] | DPAR | corrections (NP double precision values) (NP is number of track parameters: 5 + local par.) |
| [out] | DCOV | covariance matrix (NP2 double precision values, symmetric storage mode, NP2=(NP+1)*NP/2) |
Definition at line 1328 of file gbltraj.f90.
References dbavat(), dbgax(), and gbljac().
Referenced by test().
| integer gbltraj::bandsize |
band size
Definition at line 109 of file gbltraj.f90.
| double precision, dimension(maxtracksymmatsize) gbltraj::extseedmat |
external seed (precision matrix)
Definition at line 116 of file gbltraj.f90.
| integer gbltraj::extseedpoint |
point with external seed (or 0)
Definition at line 111 of file gbltraj.f90.
| integer gbltraj::firstactivecoord |
first active offset coordinate (0: u_1, 1: u_2)
Definition at line 112 of file gbltraj.f90.
| real, dimension(sizedatabuffer) gbltraj::floatdata |
float part of data blocks or local/global derivatives
Definition at line 146 of file gbltraj.f90.
| integer, dimension(sizedatabuffer) gbltraj::intdata |
integer part of data blocks (lower part, 1..mdat) or local/global derivatives (upper part, mdat+1..mxdat)
Definition at line 144 of file gbltraj.f90.
| integer gbltraj::integdatasize |
integrated size of data blocks
Definition at line 142 of file gbltraj.f90.
| double precision, dimension(maxtrackpar*maxtrackpar) gbltraj::jactracktofit |
jacobian for transformation fit to track parameter
Definition at line 117 of file gbltraj.f90.
| integer gbltraj::lastbandwidth = 0 |
band width from last fit
Definition at line 151 of file gbltraj.f90.
| integer gbltraj::lastbordersize = 0 |
border size from last fit
Definition at line 150 of file gbltraj.f90.
| integer gbltraj::lastdownweightmethod |
last used down-weighting method
Definition at line 113 of file gbltraj.f90.
| integer gbltraj::lastnumfitpar = 0 |
number of fit parameters from last fit
Definition at line 149 of file gbltraj.f90.
| integer gbltraj::lastoffset |
last point with offset
Definition at line 105 of file gbltraj.f90.
| integer gbltraj::lastscatterer |
last point with scatterer
Definition at line 106 of file gbltraj.f90.
| double precision, dimension(maxfitsymmatsize) gbltraj::mata |
(sym.) matrix of linear equation system (A*x=b)
Definition at line 115 of file gbltraj.f90.
| integer, parameter gbltraj::maxbandwidth = 10 |
max. band width
Definition at line 89 of file gbltraj.f90.
| integer, parameter gbltraj::maxbordersize = 10 |
max. border size
Definition at line 90 of file gbltraj.f90.
| integer gbltraj::maxdatasize |
max. integrated size
Definition at line 143 of file gbltraj.f90.
| integer, parameter gbltraj::maxfitpar = 250 |
max. number of fit parameters
Definition at line 87 of file gbltraj.f90.
| integer, parameter gbltraj::maxfitsymmatsize = (maxFitPar*maxFitPar+maxFitPar)/2 |
Definition at line 88 of file gbltraj.f90.
| integer, parameter gbltraj::maxpoints = 1000 |
max. points
Definition at line 93 of file gbltraj.f90.
| integer, parameter gbltraj::maxtrackpar = maxBorderSize+5 |
max. number of local track parameters
Definition at line 91 of file gbltraj.f90.
| integer, parameter gbltraj::maxtracksymmatsize = (maxTrackPar*maxTrackPar+maxTrackPar)/2 |
Definition at line 92 of file gbltraj.f90.
| integer gbltraj::maxusedfitpar = 0 |
max. number of fit parameters used
Definition at line 148 of file gbltraj.f90.
| integer gbltraj::numaddlocpar |
number of additional local track parameters
Definition at line 110 of file gbltraj.f90.
| integer gbltraj::numcurv |
flag (0/1) for usage of Q/P as fit parameter
Definition at line 108 of file gbltraj.f90.
| integer gbltraj::numdatablocks |
number of data blocks with measurements or kinks
Definition at line 141 of file gbltraj.f90.
| integer gbltraj::numfitpar |
number of fit parameters
Definition at line 107 of file gbltraj.f90.
| integer gbltraj::numkinks |
number of (multiple scattering) kinks
Definition at line 104 of file gbltraj.f90.
| integer gbltraj::nummeas |
number (of points) with measurement
Definition at line 101 of file gbltraj.f90.
| integer gbltraj::numoffsets |
number (of points) with offsets (as fit parameter)
Definition at line 103 of file gbltraj.f90.
| integer gbltraj::numpoints |
number of points
Definition at line 100 of file gbltraj.f90.
| integer gbltraj::numscat |
number (of points) with scatterer
Definition at line 102 of file gbltraj.f90.
| integer gbltraj::offsetdimension |
dimension of offsets (2: 2D offsets for track in 3D, 1: 1D offsets for track in 2D)
Definition at line 98 of file gbltraj.f90.
list of GblPoints
Definition at line 139 of file gbltraj.f90.
| integer gbltraj::printlevel |
print level
Definition at line 97 of file gbltraj.f90.
| integer, parameter gbltraj::sizedatabuffer = 10*maxPoints |
max. integrated size of data blocks
Definition at line 94 of file gbltraj.f90.
| integer gbltraj::trajlevel |
level of (preparation of) trajectory (fit)
Definition at line 96 of file gbltraj.f90.
| double precision, dimension(maxfitpar) gbltraj::vecb |
right hand side of linear equation system (A*x=b)
Definition at line 114 of file gbltraj.f90.
1.8.1