ATLAS Offline Software
|
#include <SiTrajectoryElement_xk.h>
TrackParameters production | |
std::unique_ptr< Trk::TrackParameters > | trackParameters (bool, int) |
std::unique_ptr< Trk::TrackParameters > | trackParametersWithNewDirection (bool, int) |
bool | initiateState (Trk::PatternTrackParameters &inputPars, Trk::PatternTrackParameters &outputPars) |
inputPars: input parameters. More... | |
bool | initiateStatePrecise (Trk::PatternTrackParameters &, Trk::PatternTrackParameters &) |
bool | initiateStateWithCorrection (Trk::PatternTrackParameters &, Trk::PatternTrackParameters &, Trk::PatternTrackParameters &) |
void | precisePosCov (Trk::PatternTrackParameters &) |
void | lastActive () |
static std::unique_ptr< Trk::TrackParameters > | trackParameters (Trk::PatternTrackParameters &, bool) |
Work methods for propagation | |
enum | IteratorType { SiClusterColl = 0, PixelClusterColl = 1, SCT_ClusterColl = 2, Invalid = 3 } |
Private Data. More... | |
bool | m_stereo {} |
bool | m_utsos [3] {} |
bool | m_fieldMode {} |
bool | m_useassoTool = false |
int | m_status {} |
status flag. More... | |
int | m_detstatus {} |
0 (no clusters) More... | |
int | m_inside {} |
int | m_nMissing {} |
int | m_nlinksForward {} |
int | m_nlinksBackward {} |
int | m_nholesForward {} |
int | m_nholesBackward {} |
int | m_dholesForward {} |
int | m_dholesBackward {} |
int | m_nclustersForward {} |
int | m_nclustersBackward {} |
int | m_npixelsBackward {} |
int | m_noisemodel {} |
int | m_ndf {} |
int | m_ndfForward {} |
int | m_ndfBackward {} |
int | m_ntsos {} |
int | m_maxholes {} |
int | m_maxdholes {} |
double | m_dist {} |
double | m_xi2Forward {} |
double | m_xi2Backward {} |
double | m_xi2totalForward {} |
double | m_xi2totalBackward {} |
double | m_radlength {} |
double | m_radlengthN {} |
double | m_energylose {} |
double | m_halflength {} |
double | m_step {} |
double | m_xi2max {} |
double | m_xi2maxNoAdd {} |
double | m_xi2maxlink {} |
double | m_xi2multi {} |
double | m_localTransform [13] {} |
double | m_localDir [3] {} |
the transform for this element More... | |
double | m_invMoment {} |
const InDetDD::SiDetectorElement * | m_detelement {} |
const InDet::SiDetElementBoundaryLink_xk * | m_detlink {} |
const Trk::Surface * | m_surface {} |
bool | transformPlaneToGlobal (bool, Trk::PatternTrackParameters &localParameters, double *globalPars) |
Tramsform from plane to global Will take the surface and parameters from localParameters and populate globalPars with the result. More... | |
bool | transformGlobalToPlane (bool updateJacobian, double *globalPars, Trk::PatternTrackParameters &startingParameters, Trk::PatternTrackParameters &outputParameters) |
Tramsform from global to plane surface Will take the global parameters in globalPars, the surface from this trajectory element and populate outputParameters with the result. More... | |
bool | rungeKuttaToPlane (bool updateJacobian, double *globalPars) |
Runge Kutta step to plane Updates the "globalPars" array, which is also used to pass the input. More... | |
bool | straightLineStepToPlane (bool updateJacobian, double *globalPars) |
Straight line step to plane Updates the "globalPars" array, which is also used to pass the input. More... | |
Definition at line 35 of file SiTrajectoryElement_xk.h.
|
private |
Private Data.
Enumerator | |
---|---|
SiClusterColl | |
PixelClusterColl | |
SCT_ClusterColl | |
Invalid |
Definition at line 427 of file SiTrajectoryElement_xk.h.
InDet::SiTrajectoryElement_xk::SiTrajectoryElement_xk | ( | ) |
Definition at line 1915 of file SiTrajectoryElement_xk.cxx.
InDet::SiTrajectoryElement_xk::SiTrajectoryElement_xk | ( | const SiTrajectoryElement_xk & | E | ) |
Definition at line 1970 of file SiTrajectoryElement_xk.cxx.
|
default |
bool InDet::SiTrajectoryElement_xk::addCluster | ( | Trk::PatternTrackParameters & | Ta, |
Trk::PatternTrackParameters & | Tb | ||
) |
Definition at line 2188 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::addCluster | ( | Trk::PatternTrackParameters & | Ta, |
Trk::PatternTrackParameters & | Tb, | ||
double & | Xi2 | ||
) |
non-stereo measurements
set m_covariance to the cluster errors
update state
for stereo, use the cluster local covariance directly
Definition at line 2162 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::addClusterPrecise | ( | Trk::PatternTrackParameters & | Ta, |
Trk::PatternTrackParameters & | Tb, | ||
double & | Xi2 | ||
) |
Definition at line 2211 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::addClusterPreciseWithCorrection | ( | Trk::PatternTrackParameters & | Tc, |
Trk::PatternTrackParameters & | Ta, | ||
Trk::PatternTrackParameters & | Tb, | ||
double & | Xi2 | ||
) |
Definition at line 2356 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::addNextClusterB | ( | ) |
Definition at line 753 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::addNextClusterB | ( | InDet::SiTrajectoryElement_xk & | TE, |
const InDet::SiCluster * | Cl | ||
) |
Definition at line 813 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::addNextClusterF | ( | ) |
Definition at line 783 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::addNextClusterF | ( | InDet::SiTrajectoryElement_xk & | TE, |
const InDet::SiCluster * | Cl | ||
) |
write the current cluster (if any) into the old cluster slot
and set the current cluster to the one assigned
can be null!
copy running counts from the previous element
if the previous element has a hit, reset incremental hole counter
otherwise start from the running count
if we have a non-null cluster to add
add it to the track, and update our parameters using it
update m_inside to signify we are on the module
update noise to current parameters
update hit counts, chi2, ndf
no hit (nullptr cluster)
if we are within boundaries, add to hole counts
no chi2 contribution here
if crossed
Definition at line 847 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::BackwardPropagationFilter | ( | InDet::SiTrajectoryElement_xk & | TE, |
const EventContext & | ctx | ||
) |
Definition at line 531 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::BackwardPropagationPrecise | ( | InDet::SiTrajectoryElement_xk & | TE, |
const EventContext & | ctx | ||
) |
Definition at line 719 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::BackwardPropagationSmoother | ( | InDet::SiTrajectoryElement_xk & | TE, |
bool | isTwoSpacePointsSeed, | ||
const EventContext & | ctx | ||
) |
Definition at line 621 of file SiTrajectoryElement_xk.cxx.
void InDet::SiTrajectoryElement_xk::bremNoiseModel | ( | ) |
Definition at line 2334 of file SiTrajectoryElement_xk.cxx.
|
private |
void InDet::SiTrajectoryElement_xk::CloseClusterSeach | ( | Trk::PatternTrackParameters & | Tpa, |
const InDet::SiDetElementBoundaryLink_xk *& | dl, | ||
const T & | sb, | ||
const T & | se | ||
) |
T = InDet::SiClusterCollection::const_iterator or InDet::PixelClusterCollection::const_iterator or InDet::SCT_ClusterCollection::const_iterator.
|
inline |
Definition at line 73 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 75 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 74 of file SiTrajectoryElement_xk.h.
bool InDet::SiTrajectoryElement_xk::combineStates | ( | Trk::PatternTrackParameters & | Ta, |
Trk::PatternTrackParameters & | Tb, | ||
Trk::PatternTrackParameters & | Tc | ||
) |
Definition at line 2227 of file SiTrajectoryElement_xk.cxx.
|
inline |
Definition at line 72 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 48 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 57 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 56 of file SiTrajectoryElement_xk.h.
bool InDet::SiTrajectoryElement_xk::difference | ( | ) | const |
check for a difference between forward and back propagation
Definition at line 2073 of file SiTrajectoryElement_xk.cxx.
|
inline |
Definition at line 69 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 126 of file SiTrajectoryElement_xk.h.
void InDet::SiTrajectoryElement_xk::eraseClusterForwardPropagation | ( | ) |
Definition at line 1336 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::firstTrajectorElement | ( | bool | correction | ) |
reset the cov (off-diagonal to zero, diagonal multiplied by 100)
Definition at line 179 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::firstTrajectorElement | ( | const Trk::TrackParameters & | startingParameters, |
const EventContext & | ctx | ||
) |
if we don't have a cluster, something went wrong!
generate pattern track parameters from the starting parameters
get the surface belonging to our staring pars
Track propagation if needed if we are already on the correct surface, we can assign the params as they ar
otherwise, we need to propagate to "our" surface
write our covariance into the parameters
and initiate our state. parametersUF will be constrained to the local cluster coordinates (with its covariance), while taking the momentum and direction from the input parameters
add noise to the parameter estimate (scattering, eloss)
and init other values
Definition at line 113 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::ForwardPropagationForClusterSeach | ( | int | n, |
const Trk::TrackParameters & | Tpa, | ||
const InDet::SiDetElementBoundaryLink_xk *& | dl, | ||
const T & | sb, | ||
const T & | se, | ||
const EventContext & | ctx | ||
) |
T = InDet::SiClusterCollection::const_iterator or InDet::PixelClusterCollection::const_iterator or InDet::SCT_ClusterCollection::const_iterator.
bool InDet::SiTrajectoryElement_xk::ForwardPropagationWithoutSearch | ( | InDet::SiTrajectoryElement_xk & | TE, |
const EventContext & | ctx | ||
) |
Track propagation If the starting trajectory element has a cluster:
add noise to the track parameters of the starting TE
propagate to the current element, plug into m_parametersPredForward
and restore the starting TE again
reset the double hole count to zero - we had a cluster
add noise to the starting pars
propagate, plug into m_parametersPredForward
restore starting TE
double hole count is copied from the previous one
copy information from starting TE
Track update If we have a cluster on this element
add it to refine the parameter estimate
set m_inside to signify this is a hit on track
increment cluster count
increment chi² and degrees of freedom
if we have no cluster on this element
check the intersection of the propagated track with this surface
if we have hits on this element
and expect to be inside the active area
then increment the hole counters
for bond gaps, increment ndist
Noise production If the track passes through our element
if we have a cluster, update noise based on the updated parameters
otherwise, update noise based on the predicted parameters
otherwise, reset noise
Definition at line 279 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::ForwardPropagationWithoutSearchPreciseWithCorrection | ( | InDet::SiTrajectoryElement_xk & | TE, |
const EventContext & | ctx | ||
) |
Definition at line 369 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::ForwardPropagationWithSearch | ( | InDet::SiTrajectoryElement_xk & | TE, |
const EventContext & | ctx | ||
) |
Track propagation as usual, if the previous element has a cluster, propagate the updated parameters. otherwise the predicted ones.
double hole running counter is reset if the prev element has a cluster
reset old fwd propagation info
note the socially distant semicolons!
current cluster --> old cluster, reset current
copy running counts from previous element
re-evaluate if we are expected to intersect this element based on the updated prediction
if we are not passing through this element, reset noise production and return
now perform cluster search.
if we found any:
set chi2 to the one for the first candidate
if the chi2 is acceptable:
use first cluster as cluster on this element
try to add it to the trajectory, update our parameters
update noise based on this cluster
increment running cluster count for forward trajectory
increment total chi2 for forward trajectory
and the degrees of freedom as well
if we have an outlier:
update outlier cluster member
and reset noise
end of branch for found clusters
reset noise if nothing was found
if we are in an active module (with nonzero clusters) and didn't find anything:
if we expect a hit, and didn't see an outlier: increment hole counts
if we are well within bounds, increment nDist (may be bond-gap case)
end of case covering no found cluster
Definition at line 427 of file SiTrajectoryElement_xk.cxx.
Amg::Vector3D InDet::SiTrajectoryElement_xk::globalPosition | ( | ) |
Definition at line 1282 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::initiateState | ( | Trk::PatternTrackParameters & | inputPars, |
Trk::PatternTrackParameters & | outputPars | ||
) |
inputPars: input parameters.
outputPars: output parameters. Gives outputPars the x and (for pix) the y of the associated cluster, and the corresponding cov elements, and copies all other elements else from inputPars
Gives Tb the x and (for pix) the y of the cluster, and the corresponding cov elements, and copies everything else from inputPars
Definition at line 2248 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::initiateStatePrecise | ( | Trk::PatternTrackParameters & | inputPars, |
Trk::PatternTrackParameters & | outputPars | ||
) |
Definition at line 2266 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::initiateStateWithCorrection | ( | Trk::PatternTrackParameters & | Tc, |
Trk::PatternTrackParameters & | Ta, | ||
Trk::PatternTrackParameters & | Tb | ||
) |
Definition at line 2343 of file SiTrajectoryElement_xk.cxx.
|
inline |
Definition at line 49 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 70 of file SiTrajectoryElement_xk.h.
bool InDet::SiTrajectoryElement_xk::isNextClusterHoleB | ( | bool & | cl, |
double & | X | ||
) |
Definition at line 2082 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::isNextClusterHoleF | ( | bool & | cl, |
double & | X | ||
) |
checks if removing this cluster from the forward propagation would result in a critical number of holes or double holes.
Fills "cl" with true if we would still find another cluster after removing the preferred one. Fills X with the chi square we would have on removal. Return true if we would not get a problematic number of holes
chi2 if we drop this cluster
not used in SiTrajectory?
if we have another good cluster on this element which could replace the current one were it dropped:
add the chi2 of the second forward link to the second arg
set the return-arg signifying we would still see a cluster and return
if we expect a hit:
return true if we are below the max allowed holes (so we can add one)
otherwise return false
if we do not expect a hit return true
Definition at line 2103 of file SiTrajectoryElement_xk.cxx.
void InDet::SiTrajectoryElement_xk::lastActive | ( | ) |
Definition at line 2313 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::lastTrajectorElement | ( | ) |
Definition at line 217 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::lastTrajectorElementPrecise | ( | ) |
Definition at line 247 of file SiTrajectoryElement_xk.cxx.
|
inline |
Definition at line 146 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 145 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 59 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 58 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 64 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 66 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 65 of file SiTrajectoryElement_xk.h.
|
inline |
number of crossed without hit - dead + holes
Definition at line 51 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 55 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 54 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 53 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 52 of file SiTrajectoryElement_xk.h.
void InDet::SiTrajectoryElement_xk::noiseInitiate | ( | ) |
Definition at line 2239 of file SiTrajectoryElement_xk.cxx.
|
inline |
Definition at line 63 of file SiTrajectoryElement_xk.h.
void InDet::SiTrajectoryElement_xk::noiseProduction | ( | int | Dir, |
const Trk::PatternTrackParameters & | Tp, | ||
double | rad_length = -1. , |
||
bool | useMomentum = false |
||
) |
qoverp
projection of direction normal to surface
number of radiation lengths when crossing this surface
134 is a very magic number related to multiple scattering, used frequently throught the track finder chain. Here we use it to estimate the scattering impact on the errors
1 - Az² --> squared transverse direction component
if too small, set to a reasonable minimum
azimuthal component: scale with 1/d
muon model
estimate e-loss
impact on covariance
impact on momentum
electron model - much more generous
for forward direction, invert correction
store in noise object
Definition at line 1120 of file SiTrajectoryElement_xk.cxx.
|
inline |
Definition at line 60 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 67 of file SiTrajectoryElement_xk.h.
int InDet::SiTrajectoryElement_xk::numberClusters | ( | ) | const |
Definition at line 2037 of file SiTrajectoryElement_xk.cxx.
InDet::SiTrajectoryElement_xk & InDet::SiTrajectoryElement_xk::operator= | ( | const SiTrajectoryElement_xk & | E | ) |
Definition at line 1977 of file SiTrajectoryElement_xk.cxx.
const Trk::PatternTrackParameters* InDet::SiTrajectoryElement_xk::parameters | ( | ) | const |
return pattern parameters matching the status of this element
|
inline |
|
inline |
track parameters for forward filter / smoother predicted
Definition at line 129 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 136 of file SiTrajectoryElement_xk.h.
|
inline |
|
inline |
|
private |
Private Methods.
sigma ~pitch / sqrt(12)
if larger error in cluster covariance, replace covx by it
strips: take y error from cov
pixels: again take either pitch/sqrt(12) or the cluster cov, whichever is larger
Definition at line 2276 of file SiTrajectoryElement_xk.cxx.
void InDet::SiTrajectoryElement_xk::precisePosCov | ( | Trk::PatternTrackParameters & | Tc | ) |
Definition at line 2376 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::propagate | ( | Trk::PatternTrackParameters & | startingParameters, |
Trk::PatternTrackParameters & | outputParameters, | ||
double & | StepLength, | ||
const EventContext & | ctx | ||
) |
Will propagate the startingParameters from their reference to the surface associated with this element and write the result into the second argument.
Start from 'startingParameters', propagate to current surface.
The third argument records the step length traversed.
Write into outputParameters and wrote step to surface into StepLength
helper field to store global frame parameters Convention: 0-2: Position 3-5: Direction 6: qoverp 7 - 41: jacobian 42-44: extension of jacobian for dA/ds 45: step length
transform starting parameters to global, write into globalParameters
if running with field, use Runge Kutta. Will update globalParameters to the result in global coordinates
otherwise, we can use the straight line
Update step length
and finally transform from global back to local, and write into the output parameters.
Definition at line 1378 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::propagateParameters | ( | Trk::PatternTrackParameters & | startingParameters, |
Trk::PatternTrackParameters & | outputParameters, | ||
double & | StepLength | ||
) |
Start from 'startingParameters', propagate to current surface.
Write into outputParameters and wrote step to surface into StepLength
helper field to store global frame parameters Convention: 0-2: Position 3-5: Direction 6: qoverp 7 - 41: jacobian 42-44: extension of jacobian for dA/ds 45: step length
if running with field, use Runge Kutta. Will update globalParameters to the result in global coordinates
otherwise, we can use the straight line
Update step length
and finally transform from global back to local, and write into the output parameters.
Definition at line 1432 of file SiTrajectoryElement_xk.cxx.
double InDet::SiTrajectoryElement_xk::quality | ( | int & | holes | ) | const |
Definition at line 1348 of file SiTrajectoryElement_xk.cxx.
|
inline |
Definition at line 125 of file SiTrajectoryElement_xk.h.
bool InDet::SiTrajectoryElement_xk::rungeKuttaToPlane | ( | bool | updateJacobian, |
double * | globalPars | ||
) |
Runge Kutta step to plane Updates the "globalPars" array, which is also used to pass the input.
This array follows the convention outlined above (46 components)
minimum step length
step length below which we are allowed to use a helical approximation
tolerance before reducing step length
Minimum momentum check
dA/ds
This is a conversion from p to half-curvature (1/2R), when multiplied with the orthogonal field component Curvature = 2 * Pi x B x sin(angle)
abs(qoverp)
projection of global direction onto local Z-axis
distance orthogonal to surface in units of direction z-component
if we are sufficiently close in Z already, add a final straight line step corresponding to the remaining difference to get the estimate on the surface, update step length, and return the result
if we are too far away, Limit the step size to 0.3 * p
holders for the B-field
get the field at our reference point
if the step is sifficiently small, we are allowed to use a helical model
S/3
S/4
2 S/curvature radius, when multiplied with the appropriate field
First point
equip field with conversion factor to 2S/curvature
v cross B
updated position for field eval
field at updated position
if assuming helix, homogenous field
Parameters calculation if the step grew too small, or we traveled more than 2 meters, abort, this went badly wrong...
New step estimation
if the remaining step is below threshold, we can finish with a small linear step
if we ran past the surface and changed signs more than twice, abort
if absolute step size is decreasing, we keep going
if step increased, try the other direction
otherwise refine step length if shorter than before
update field for next iteration
Definition at line 1660 of file SiTrajectoryElement_xk.cxx.
int InDet::SiTrajectoryElement_xk::searchClusters | ( | Trk::PatternTrackParameters & | Tp, |
SiClusterLink_xk * | L | ||
) |
delegate work to subsystem-specific template implementation
Definition at line 2399 of file SiTrajectoryElement_xk.cxx.
int InDet::SiTrajectoryElement_xk::searchClustersSub | ( | Trk::PatternTrackParameters & | , |
SiClusterLink_xk * | |||
) |
int InDet::SiTrajectoryElement_xk::searchClustersWithoutStereoAssPIX | ( | Trk::PatternTrackParameters & | , |
SiClusterLink_xk * | , | ||
const Trk::PRDtoTrackMap & | |||
) |
int InDet::SiTrajectoryElement_xk::searchClustersWithoutStereoAssSCT | ( | Trk::PatternTrackParameters & | , |
SiClusterLink_xk * | , | ||
const Trk::PRDtoTrackMap & | |||
) |
int InDet::SiTrajectoryElement_xk::searchClustersWithoutStereoPIX | ( | Trk::PatternTrackParameters & | , |
SiClusterLink_xk * | |||
) |
int InDet::SiTrajectoryElement_xk::searchClustersWithoutStereoSCT | ( | Trk::PatternTrackParameters & | , |
SiClusterLink_xk * | |||
) |
int InDet::SiTrajectoryElement_xk::searchClustersWithStereo | ( | Trk::PatternTrackParameters & | , |
SiClusterLink_xk * | |||
) |
int InDet::SiTrajectoryElement_xk::searchClustersWithStereoAss | ( | Trk::PatternTrackParameters & | , |
SiClusterLink_xk * | , | ||
const Trk::PRDtoTrackMap & | |||
) |
bool InDet::SiTrajectoryElement_xk::set | ( | int | st, |
const InDet::SiDetElementBoundaryLink_xk *& | dl, | ||
const T & | sb, | ||
const T & | se, | ||
const InDet::SiCluster * | si, | ||
const EventContext & | ctx | ||
) |
T = InDet::SiClusterCollection::const_iterator or InDet::PixelClusterCollection::const_iterator or InDet::SCT_ClusterCollection::const_iterator.
void InDet::SiTrajectoryElement_xk::setCluster | ( | const InDet::SiCluster * | Cl | ) |
Definition at line 2130 of file SiTrajectoryElement_xk.cxx.
void InDet::SiTrajectoryElement_xk::setClusterB | ( | const InDet::SiCluster * | Cl, |
double | Xi2 | ||
) |
Definition at line 2135 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::setDead | ( | const Trk::Surface * | SU | ) |
Definition at line 29 of file SiTrajectoryElement_xk.cxx.
void InDet::SiTrajectoryElement_xk::setDeadRadLength | ( | Trk::PatternTrackParameters & | Tp | ) |
Definition at line 68 of file SiTrajectoryElement_xk.cxx.
void InDet::SiTrajectoryElement_xk::setNdist | ( | int | n | ) |
Definition at line 2153 of file SiTrajectoryElement_xk.cxx.
void InDet::SiTrajectoryElement_xk::setParameters | ( | ) |
Definition at line 98 of file SiTrajectoryElement_xk.cxx.
void InDet::SiTrajectoryElement_xk::setParametersB | ( | Trk::PatternTrackParameters & | P | ) |
Definition at line 2143 of file SiTrajectoryElement_xk.cxx.
void InDet::SiTrajectoryElement_xk::setParametersF | ( | Trk::PatternTrackParameters & | P | ) |
Definition at line 2148 of file SiTrajectoryElement_xk.cxx.
void InDet::SiTrajectoryElement_xk::setTools | ( | const InDet::SiTools_xk * | t | ) |
Definition at line 87 of file SiTrajectoryElement_xk.cxx.
|
inline |
Definition at line 62 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 68 of file SiTrajectoryElement_xk.h.
double InDet::SiTrajectoryElement_xk::step | ( | InDet::SiTrajectoryElement_xk & | TE | ) |
Definition at line 1256 of file SiTrajectoryElement_xk.cxx.
double InDet::SiTrajectoryElement_xk::stepToPerigee | ( | ) |
Definition at line 1315 of file SiTrajectoryElement_xk.cxx.
|
inline |
Definition at line 61 of file SiTrajectoryElement_xk.h.
bool InDet::SiTrajectoryElement_xk::straightLineStepToPlane | ( | bool | updateJacobian, |
double * | globalPars | ||
) |
Straight line step to plane Updates the "globalPars" array, which is also used to pass the input.
This array follows the convention outlined above (46 components)
Definition at line 1889 of file SiTrajectoryElement_xk.cxx.
|
inline |
Definition at line 144 of file SiTrajectoryElement_xk.h.
std::unique_ptr< Trk::TrackParameters > InDet::SiTrajectoryElement_xk::trackParameters | ( | bool | cov, |
int | Q | ||
) |
Definition at line 1071 of file SiTrajectoryElement_xk.cxx.
|
static |
Definition at line 1244 of file SiTrajectoryElement_xk.cxx.
std::unique_ptr< Trk::TrackParameters > InDet::SiTrajectoryElement_xk::trackParametersWithNewDirection | ( | bool | cov, |
int | Q | ||
) |
Definition at line 1195 of file SiTrajectoryElement_xk.cxx.
Trk::TrackStateOnSurface * InDet::SiTrajectoryElement_xk::trackPerigeeStateOnSurface | ( | const EventContext & | ctx | ) |
Definition at line 1042 of file SiTrajectoryElement_xk.cxx.
Trk::TrackStateOnSurface * InDet::SiTrajectoryElement_xk::trackSimpleStateOnSurface | ( | bool | change, |
bool | cov, | ||
int | Q | ||
) |
Definition at line 979 of file SiTrajectoryElement_xk.cxx.
Trk::TrackStateOnSurface * InDet::SiTrajectoryElement_xk::trackStateOnSurface | ( | bool | change, |
bool | cov, | ||
bool | multi, | ||
int | Q | ||
) |
Definition at line 902 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::transformGlobalToPlane | ( | bool | useJac, |
double * | globalPars, | ||
Trk::PatternTrackParameters & | startingParameters, | ||
Trk::PatternTrackParameters & | outputParameters | ||
) |
Tramsform from global to plane surface Will take the global parameters in globalPars, the surface from this trajectory element and populate outputParameters with the result.
If covariance update ("updateJacobian") is requested, also transport the covariance from "startingParameters" using the jacobian stored in the globalPars and write this into outputParameters. Convention for globalPars: /dL0 /dL1 /dPhi /dThe /dCM X ->globalPars[0] dX / globalPars[ 7] globalPars[14] globalPars[21] globalPars[28] globalPars[35]
Y ->globalPars[1] dY / globalPars[ 8] globalPars[15] globalPars[22] globalPars[29] globalPars[36]
Z ->globalPars[2] dZ / globalPars[ 9] globalPars[16] globalPars[23] globalPars[30] globalPars[37]
Ax ->globalPars[3] dAx/ globalPars[10] globalPars[17] globalPars[24] globalPars[31] globalPars[38]
Ay ->globalPars[4] dAy/ globalPars[11] globalPars[18] globalPars[25] globalPars[32] globalPars[39]
Az ->globalPars[5] dAz/ globalPars[12] globalPars[19] globalPars[26] globalPars[33] globalPars[40]
CM ->globalPars[6] dCM/ globalPars[13] globalPars[20] globalPars[27] globalPars[34] globalPars[41]
Convention for globalPars: /dL0 /dL1 /dPhi /dThe /dCM X ->globalPars[0] dX / globalPars[ 7] globalPars[14] globalPars[21] globalPars[28] globalPars[35] Y ->globalPars[1] dY / globalPars[ 8] globalPars[15] globalPars[22] globalPars[29] globalPars[36] Z ->globalPars[2] dZ / globalPars[ 9] globalPars[16] globalPars[23] globalPars[30] globalPars[37] Ax ->globalPars[3] dAx/ globalPars[10] globalPars[17] globalPars[24] globalPars[31] globalPars[38] Ay ->globalPars[4] dAy/ globalPars[11] globalPars[18] globalPars[25] globalPars[32] globalPars[39] Az ->globalPars[5] dAz/ globalPars[12] globalPars[19] globalPars[26] globalPars[33] globalPars[40] CM ->globalPars[6] dCM/ globalPars[13] globalPars[20] globalPars[27] globalPars[34] globalPars[41]
local x,y,z axes in global frame
distance of global position to origin of local frame
local parameters obtained by transforming from global
local X
local Y
phi (from global direction x,y)
theta (from global cosTheta)
qoverp
update local direction vector
Condition trajectory on surface
transverse direction component
unit direction vector in the X,Y plane
covariance matrix production using jacobian - CovNEW = J*CovOLD*Jt
check for negative diagonals in the cov
write into output parameters. Assign our surface to them
Definition at line 1551 of file SiTrajectoryElement_xk.cxx.
bool InDet::SiTrajectoryElement_xk::transformPlaneToGlobal | ( | bool | useJac, |
Trk::PatternTrackParameters & | localParameters, | ||
double * | globalPars | ||
) |
Tramsform from plane to global Will take the surface and parameters from localParameters and populate globalPars with the result.
globalPars needs to be at least 46 elements long. Convention: /dL0 /dL1 /dPhi /dThe /dCM X ->globalPars[0] dX / globalPars[ 7] globalPars[14] globalPars[21] globalPars[28] globalPars[35]
Y ->globalPars[1] dY / globalPars[ 8] globalPars[15] globalPars[22] globalPars[29] globalPars[36]
Z ->globalPars[2] dZ / globalPars[ 9] globalPars[16] globalPars[23] globalPars[30] globalPars[37]
Ax ->globalPars[3] dAx/ globalPars[10] globalPars[17] globalPars[24] globalPars[31] globalPars[38]
Ay ->globalPars[4] dAy/ globalPars[11] globalPars[18] globalPars[25] globalPars[32] globalPars[39]
Az ->globalPars[5] dAz/ globalPars[12] globalPars[19] globalPars[26] globalPars[33] globalPars[40]
CM ->globalPars[6] dCM/ globalPars[13] globalPars[20] globalPars[27] globalPars[34] globalPars[41]
globalPars needs to be at least 46 elements long. Convention: /dL0 /dL1 /dPhi /dThe /dCM X ->globalPars[0] dX / globalPars[ 7] globalPars[14] globalPars[21] globalPars[28] globalPars[35] Y ->globalPars[1] dY / globalPars[ 8] globalPars[15] globalPars[22] globalPars[29] globalPars[36] Z ->globalPars[2] dZ / globalPars[ 9] globalPars[16] globalPars[23] globalPars[30] globalPars[37] Ax ->globalPars[3] dAx/ globalPars[10] globalPars[17] globalPars[24] globalPars[31] globalPars[38] Ay ->globalPars[4] dAy/ globalPars[11] globalPars[18] globalPars[25] globalPars[32] globalPars[39] Az ->globalPars[5] dAz/ globalPars[12] globalPars[19] globalPars[26] globalPars[33] globalPars[40] CM ->globalPars[6] dCM/ globalPars[13] globalPars[20] globalPars[27] globalPars[34] globalPars[41]
obtain trigonometric functions required for transform
get the surface corresponding to the local parameters
get the associated transform from the surface
Get the local x and y axis in the global frame
position
direction vectors
qoeverp // Az
for very high momenta, truncate to avoid zero
Update jacobian if requested
d(Ax,Ay,Az)/ds
Step length is initialised to zero - no propagation done yet
Definition at line 1476 of file SiTrajectoryElement_xk.cxx.
Trk::TrackStateOnSurface * InDet::SiTrajectoryElement_xk::tsos | ( | int | i | ) |
|
inline |
Definition at line 122 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 121 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 124 of file SiTrajectoryElement_xk.h.
|
inline |
Definition at line 123 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 495 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 497 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 496 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 523 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 480 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 481 of file SiTrajectoryElement_xk.h.
|
private |
0 (no clusters)
Definition at line 443 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 451 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 450 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 462 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 469 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 516 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 436 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 470 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 444 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 478 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 528 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 513 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 512 of file SiTrajectoryElement_xk.h.
|
private |
the transform for this element
Definition at line 477 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 476 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 461 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 460 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 453 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 452 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 456 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 458 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 457 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 449 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 448 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 447 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 446 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 445 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 514 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 455 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 454 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 459 of file SiTrajectoryElement_xk.h.
|
private |
For backward filtering / smoothing Predicted state, backward.
Definition at line 508 of file SiTrajectoryElement_xk.h.
|
private |
Pattern track parameters.
For forward filtering / smoothing Predicted state, forward
Definition at line 503 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 511 of file SiTrajectoryElement_xk.h.
|
private |
Updated state, backward.
Definition at line 510 of file SiTrajectoryElement_xk.h.
|
private |
Updated state, forward.
Definition at line 505 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 524 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 520 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 518 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 467 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 468 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 519 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 492 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 493 of file SiTrajectoryElement_xk.h.
|
private |
status flag.
Start as 0. set to 1 if set up for forward set to 2 if set up for backward set to 3 by lastTrajectoryElement or BackwardPropagationSmoother if m_cluster
Definition at line 442 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 471 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 434 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 482 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 515 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 522 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 517 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 437 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 435 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 464 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 463 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 472 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 474 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 473 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 475 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 466 of file SiTrajectoryElement_xk.h.
|
private |
Definition at line 465 of file SiTrajectoryElement_xk.h.
|
staticconstexprprivate |
Definition at line 526 of file SiTrajectoryElement_xk.h.