#include <Chi2VertexFitter.h>
|
enum | ExtraPar { BField0 = 0,
MassOffSet = 1,
NExtraPar = 1
} |
|
enum | FreeTrackPar { kappa0 = 3,
lambda0,
phi0,
NFreeTrackPar
} |
|
enum | FreeVertexPar { x0 = 0,
y0,
z0,
NFreeVertexPar
} |
|
static void | computedxydz (const TVectorT< double > &inpar, int particle, double &kappa, double &lam, double &phi, double &x, double &y, double &z, double &s, double &dxy, double &dz) |
|
static TVectorT< double > | computeLorentzVectorPar (const TVectorT< double > &inpar) |
|
virtual TString | freeParName (int Par) |
|
double | chi2_ |
|
bool | isConfigured_ |
|
bool | isFit_ |
|
double | ndf_ |
|
TVectorT< double > | par_ |
|
TMatrixTSym< double > | parcov_ |
|
Definition at line 16 of file Chi2VertexFitter.h.
◆ Chi2VertexFitter()
tauImpactParameter::Chi2VertexFitter::Chi2VertexFitter |
( |
const std::vector< TrackParticle > & |
particles, |
|
|
const TVector3 & |
vguess, |
|
|
double |
nsigma = 4.0 |
|
) |
| |
|
inline |
◆ ~Chi2VertexFitter()
tauImpactParameter::Chi2VertexFitter::~Chi2VertexFitter |
( |
| ) |
|
|
inlineoverride |
◆ fit()
bool Chi2VertexFitter::fit |
( |
void |
| ) |
|
|
overridevirtual |
Implements tauImpactParameter::TrackHelixVertexFitter.
Definition at line 26 of file Chi2VertexFitter.cc.
32 ROOT::Minuit2::MnUserParameters MnPar;
33 for (
int i = 0;
i <
par_.GetNrows();
i++) {
36 MnPar.Add(
name.Data(),
43 unsigned int max = 10;
44 int numberofcalls = 200 +
par_.GetNrows() * 100 +
par_.GetNrows() *
par_.GetNrows() * 5;
48 ROOT::Minuit2::MnMinimize minimize(
updator, MnPar);
49 ROOT::Minuit2::FunctionMinimum
min = minimize(numberofcalls,
tolerance);
50 for (
unsigned int i = 0;
i <=
max &&
min.Edm() > edmMin;
i++) {
56 if (
min.IsAboveMaxEdm()) {
57 edm::LogWarning(
"Chi2VertexFitter::Fit") <<
"Found Vertex that is above EDM " << std::endl;
61 edm::LogWarning(
"Chi2VertexFitter::Fit") <<
"Failed min.IsValid()" << std::endl;
62 if (!
min.HasValidParameters()) {
63 edm::LogWarning(
"Chi2VertexFitter::Fit") <<
"Failed min.HasValidParameters()" << std::endl;
65 if (!
min.HasValidCovariance()) {
66 edm::LogWarning(
"Chi2VertexFitter::Fit") <<
"Failed min.HasValidCovariance()" << std::endl;
68 if (!
min.HesseFailed()) {
69 edm::LogWarning(
"Chi2VertexFitter::Fit") <<
"Failed min.HesseFailed()" << std::endl;
71 if (!
min.HasReachedCallLimit()) {
72 edm::LogWarning(
"Chi2VertexFitter::Fit") <<
"Failed min.HasReachedCallLimit()" << std::endl;
78 for (
int i = 0;
i <
par_.GetNrows();
i++) {
82 for (
int i = 0;
i <
par_.GetNrows();
i++) {
83 for (
int j = 0;
j <
par_.GetNrows();
j++) {
References tauImpactParameter::TrackHelixVertexFitter::chi2_, tauImpactParameter::TrackHelixVertexFitter::freeParName(), mps_fire::i, tauImpactParameter::TrackHelixVertexFitter::isConfigured_, tauImpactParameter::TrackHelixVertexFitter::isFit_, dqmiolumiharvest::j, SiStripPI::max, min(), Skims_PA_cff::name, nsigma_, tauImpactParameter::TrackHelixVertexFitter::par_, tauImpactParameter::TrackHelixVertexFitter::parcov_, mathSSE::sqrt(), tolerance, and HLT_2018_cff::updator.
Referenced by trackingPlots.Iteration::modules().
◆ nsigma_
double tauImpactParameter::Chi2VertexFitter::nsigma_ |
|
private |