GeneralBrokenLines  Rev:70
 All Classes Files Functions Variables Pages
Data Types | Public Member Functions | Public Attributes
gbltraj Module Reference

Definitions and data fields; construction and fitting. More...

List of all members.

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(maxfitparvecb
 right hand side of linear equation system (A*x=b)
double precision, dimension(maxfitsymmatsizemata
 (sym.) matrix of linear equation system (A*x=b)
double precision, dimension(maxtracksymmatsizeextseedmat
 external seed (precision matrix)
double precision, dimension(maxtrackpar
*maxtrackpar
jactracktofit
 jacobian for transformation fit to track parameter
type(gblpoint), dimension(maxpointspoints
 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(sizedatabufferintdata
 integer part of data blocks (lower part, 1..mdat) or local/global derivatives (upper part, mdat+1..mxdat)
real, dimension(sizedatabufferfloatdata
 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

Detailed Description

Definitions and data fields; construction and fitting.

Definition at line 84 of file gbltraj.f90.


Member Function/Subroutine Documentation

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.

Parameters:
[in]NDERnumber of local derivatives
[in]LDERlabels for global derivatives
[in]DERlocal derivatives
[out]IRETnumber 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.

Parameters:
[in]NDERnumber of local derivatives
[in]DERlocal derivatives
[out]IRETnumber 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.

Parameters:
[in]PROJprojection matrix of measurement directions into local system (dm/du)
[in]RESresiduals (m)
[in]PRECdiagonal 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.

Parameters:
[in]AJACjacobian from previous point
[out]IPOINTidentifier

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.

Parameters:
[in]RESvalues for initial kinks (in case of iterating)
[in]PRECdiagonal 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.

Parameters:
[in]IPOINT(signed) point (<0: side towards previous point, >0: side towards next point)
[in]DPRCprecision 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.

Parameters:
[in]IDWMdown-weighting method (0-3)
[out]CHI2Chi2
[out]SWGTsum 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 ( )

Generate DATa record.

Definition at line 674 of file gbltraj.f90.

References devrot(), gblder(), and gbljac().

Referenced by gblprp().

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.

Parameters:
[in]IPOINTpoint
[in]IDIRdirection
[out]WW (=(+/-)S^-1)
[out]WJW*J
[out]DWW*d

Definition at line 941 of file gbltraj.f90.

Referenced by gbldat(), and gbljac().

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.

Parameters:
[in]CDWstring defining iterations for outlier down weighting, one char per iteration (C: Cauchy, H: Huber, T: Tukey)
[out]MRANKrank of measurements
[out]NPnumber of track parameter at given point
[out]NDFdegrees of freedom
[out]CHI2Chi2
[out]WLSlost 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.

Parameters:
[in]LPRNTprint level
[in]ICOORDcoordinate (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.

Parameters:
[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)

Parameters:
[in]IPOINT(signed) point
[in]ITRANS=0 not transposed, =1 transposed
[out]IOFF1offsets IOFF1,IOFF1+1 needed to define offset and slope at IPOINT

Definition at line 1165 of file gbltraj.f90.

References gblder().

Referenced by gbldat(), and gblres().

subroutine gbltraj::gblmat ( )

Build MATrix and rhs vector.

Definition at line 979 of file gbltraj.f90.

Referenced by gblfit().

subroutine gbltraj::gblmp2 ( integer, intent(out)  iret)

generate Millepede-II record

Parameters:
[out]IRETnumber MillePede measurements in record

Definition at line 1111 of file gbltraj.f90.

References gblprp(), and mille().

Referenced by test().

subroutine gbltraj::gblprp ( )

Prepare broken lines trajectory.

Definition at line 230 of file gbltraj.f90.

References gblcjc(), and gbldat().

Referenced by gblfit(), and gblmp2().

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.

Parameters:
[in]IPOINT(signed) point (<0: side towards previous point, >0: side towards next point)
[out]DPARcorrections (NP double precision values) (NP is number of track parameters: 5 + local par.)
[out]DCOVcovariance 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().


Member Data Documentation

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.

type(gblpoint), dimension(maxpoints) gbltraj::points

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.


The documentation for this module was generated from the following file: