File indexing completed on 2024-04-06 12:31:30
0001 #ifndef MultiGaussianStateTransform_H
0002 #define MultiGaussianStateTransform_H
0003
0004
0005
0006
0007 #include "DataFormats/GsfTrackReco/interface/GsfTrack.h"
0008 #include "DataFormats/GsfTrackReco/interface/GsfTrackExtra.h"
0009
0010 #include "TrackingTools/GsfTools/interface/MultiGaussianState.h"
0011
0012 #include <vector>
0013
0014 class MultiGaussianState1D;
0015 class TrajectoryStateOnSurface;
0016
0017 namespace MultiGaussianStateTransform {
0018
0019 enum { N = reco::GsfTrackExtra::dimension };
0020
0021
0022
0023 MultiGaussianState<N> innerMultiState(const reco::GsfTrack& tk);
0024
0025
0026 MultiGaussianState<N> outerMultiState(const reco::GsfTrack& tk);
0027
0028
0029 MultiGaussianState1D innerMultiState1D(const reco::GsfTrack& tk, unsigned int index);
0030
0031
0032 MultiGaussianState1D outerMultiState1D(const reco::GsfTrack& tk, unsigned int index);
0033
0034
0035
0036 MultiGaussianState<N> multiState(const std::vector<MultiGaussianState<N>::Vector>&,
0037 const std::vector<MultiGaussianState<N>::Matrix>&,
0038 const std::vector<double>&);
0039
0040
0041 MultiGaussianState1D multiState1D(const std::vector<MultiGaussianState<N>::Vector>&,
0042 const std::vector<MultiGaussianState<N>::Matrix>&,
0043 const std::vector<double>&,
0044 unsigned int);
0045
0046
0047
0048 MultiGaussianState<5> multiState(const TrajectoryStateOnSurface);
0049
0050
0051 MultiGaussianState1D multiState1D(const TrajectoryStateOnSurface, unsigned int);
0052
0053
0054 TrajectoryStateOnSurface tsosFromSingleState(const SingleGaussianState<5>&, const TrajectoryStateOnSurface);
0055
0056 }
0057
0058 #endif