#include <TauA1NuConstrainedFitter.h>
Public Types | |
enum | ExpandedPars { a1_vx =9, a1_vy, a1_vz, nexpandedpar } |
enum | OrignialPars { norigpar =13 } |
enum | Pars { tau_phi =0, tau_theta, a1_px, a1_py, a1_pz, a1_m, nu_px, nu_py, nu_pz, npar } |
Public Types inherited from tauImpactParameter::MultiProngTauSolver | |
enum | Ambiguity { zero, minus, plus, NAmbiguity } |
Public Member Functions | |
bool | fit () |
LorentzVectorParticle | getMother () |
std::vector< LorentzVectorParticle > | getRefitDaughters () |
double | getTauRotationSignificance () |
TauA1NuConstrainedFitter (unsigned int ambiguity, const LorentzVectorParticle &A1, const TVector3 &PVertex, const TMatrixTSym< double > &VertexCov) | |
~TauA1NuConstrainedFitter () override | |
Public Member Functions inherited from tauImpactParameter::MultiProngTauSolver | |
MultiProngTauSolver () | |
virtual | ~MultiProngTauSolver () |
Private Member Functions | |
void | UpdateExpandedPar () |
Static Private Member Functions | |
static TVectorT< double > | ComputeA1LorentzVectorPar (const TVectorT< double > &inpar) |
static TVectorT< double > | ComputeExpParToPar (const TVectorT< double > &inpar) |
static TVectorT< double > | ComputeInitalExpPar (const TVectorT< double > &inpar) |
static TVectorT< double > | ComputeMotherLorentzVectorPar (const TVectorT< double > &inpar) |
static TVectorT< double > | ComputeNuLorentzVectorPar (const TVectorT< double > &inpar) |
static void | CovertParToObjects (const TVectorD &v, TLorentzVector &a1, TLorentzVector &nu, double &phi, double &theta, TVector3 &TauDir) |
static TVectorT< double > | SolveAmbiguityAnalytically (const TVectorT< double > &inpar, unsigned int ambiguity) |
static TVectorT< double > | SolveAmbiguityAnalyticallywithRot (const TVectorT< double > &inpar, unsigned int ambiguity) |
static TVectorT< double > | TauRot (const TVectorT< double > &inpar) |
Private Attributes | |
unsigned int | ambiguity_ |
TMatrixTSym< double > | cov |
TMatrixTSym< double > | cov_0 |
TMatrixTSym< double > | expcov |
TVectorT< double > | exppar |
TVectorT< double > | par |
TVectorT< double > | par_0 |
std::vector< LorentzVectorParticle > | particles_ |
Static Private Attributes | |
static unsigned int | static_amb |
Additional Inherited Members | |
Static Public Member Functions inherited from tauImpactParameter::MultiProngTauSolver | |
static void | analyticESolver (TLorentzVector &nu_plus, TLorentzVector &nu_minus, const TLorentzVector &A1, bool &isReal) |
static LorentzVectorParticle | estimateNu (const LorentzVectorParticle &a1, const TVector3 &pv, int ambiguity, TLorentzVector &tau) |
static void | numericalESolver (TLorentzVector &nu_plus, TLorentzVector &nu_minus, const TLorentzVector &A1, bool &isReal) |
static void | quadratic (double &x_plus, double &x_minus, double a, double b, double c, bool &isReal) |
static TVectorT< double > | rotateToTauFrame (const TVectorT< double > &inpar) |
static bool | setTauDirectionatThetaGJMax (const TLorentzVector &a1, double &theta, double &phi, double scale=1.0) |
static void | solveByRotation (const TVector3 &TauDir, const TLorentzVector &A1, TLorentzVector &Tau_plus, TLorentzVector &Tau_minus, TLorentzVector &nu_plus, TLorentzVector &nu_minus, bool &isReal, bool rotateback=true) |
static double | thetaGJMax (const TLorentzVector &a1) |
Definition at line 21 of file TauA1NuConstrainedFitter.h.
Enumerator | |
---|---|
norigpar |
Definition at line 28 of file TauA1NuConstrainedFitter.h.
Enumerator | |
---|---|
tau_phi | |
tau_theta | |
a1_px | |
a1_py | |
a1_pz | |
a1_m | |
nu_px | |
nu_py | |
nu_pz | |
npar |
Definition at line 26 of file TauA1NuConstrainedFitter.h.
TauA1NuConstrainedFitter::TauA1NuConstrainedFitter | ( | unsigned int | ambiguity, |
const LorentzVectorParticle & | A1, | ||
const TVector3 & | PVertex, | ||
const TMatrixTSym< double > & | VertexCov | ||
) |
Definition at line 15 of file TauA1NuConstrainedFitter.cc.
References tauImpactParameter::Particle::bField(), ComputeExpParToPar(), ComputeInitalExpPar(), cov, cov_0, tauImpactParameter::Particle::covariance(), expcov, exppar, mps_fire::i, nexpandedpar, tauImpactParameter::LorentzVectorParticle::NLorentzandVertexPar, npar, TtFullLepDaughter::Nu, tauImpactParameter::PDGInfo::nu_tau, tauImpactParameter::LorentzVectorParticle::NVertex, par, par_0, tauImpactParameter::LorentzVectorParticle::parameter(), particles_, tauImpactParameter::ErrorMatrixPropagator::propagateError(), findQualityFiles::size, tauImpactParameter::LorentzVectorParticle::vx, tauImpactParameter::LorentzVectorParticle::vy, and tauImpactParameter::LorentzVectorParticle::vz.
|
inlineoverride |
Definition at line 24 of file TauA1NuConstrainedFitter.h.
|
staticprivate |
Definition at line 113 of file TauA1NuConstrainedFitter.cc.
References a1_m, a1_px, a1_py, a1_pz, a1_vx, a1_vy, a1_vz, tauImpactParameter::LorentzVectorParticle::m, tauImpactParameter::LorentzVectorParticle::NLorentzandVertexPar, tauImpactParameter::LorentzVectorParticle::px, tauImpactParameter::LorentzVectorParticle::py, tauImpactParameter::LorentzVectorParticle::pz, tauImpactParameter::LorentzVectorParticle::vx, tauImpactParameter::LorentzVectorParticle::vy, and tauImpactParameter::LorentzVectorParticle::vz.
Referenced by ComputeMotherLorentzVectorPar(), and getRefitDaughters().
|
staticprivate |
Definition at line 95 of file TauA1NuConstrainedFitter.cc.
References mps_fire::i, and npar.
Referenced by TauA1NuConstrainedFitter().
|
staticprivate |
Definition at line 73 of file TauA1NuConstrainedFitter.cc.
References a1_m, a1_px, a1_py, a1_pz, a1_vx, a1_vy, a1_vz, tauImpactParameter::LorentzVectorParticle::m, nexpandedpar, tauImpactParameter::LorentzVectorParticle::NLorentzandVertexPar, nu_px, nu_py, nu_pz, tauImpactParameter::LorentzVectorParticle::NVertex, PFRecoTauDiscriminationByIsolation_cfi::offset, MetAnalyzer::pv(), tauImpactParameter::LorentzVectorParticle::px, tauImpactParameter::LorentzVectorParticle::py, tauImpactParameter::LorentzVectorParticle::pz, tau_phi, tau_theta, tauImpactParameter::LorentzVectorParticle::vx, tauImpactParameter::LorentzVectorParticle::vy, and tauImpactParameter::LorentzVectorParticle::vz.
Referenced by TauA1NuConstrainedFitter().
|
staticprivate |
Definition at line 125 of file TauA1NuConstrainedFitter.cc.
References a1_m, a1_px, a1_py, a1_pz, ComputeA1LorentzVectorPar(), ComputeNuLorentzVectorPar(), mps_fire::i, tauImpactParameter::LorentzVectorParticle::m, tauImpactParameter::LorentzVectorParticle::NLorentzandVertexPar, nu_px, nu_py, nu_pz, tauImpactParameter::LorentzVectorParticle::NVertex, tauImpactParameter::LorentzVectorParticle::px, tauImpactParameter::LorentzVectorParticle::py, tauImpactParameter::LorentzVectorParticle::pz, and mathSSE::sqrt().
Referenced by getMother().
|
staticprivate |
Definition at line 101 of file TauA1NuConstrainedFitter.cc.
References a1_vx, a1_vy, a1_vz, tauImpactParameter::LorentzVectorParticle::m, tauImpactParameter::LorentzVectorParticle::NLorentzandVertexPar, nu_px, nu_py, nu_pz, tauImpactParameter::LorentzVectorParticle::px, tauImpactParameter::LorentzVectorParticle::py, tauImpactParameter::LorentzVectorParticle::pz, tauImpactParameter::LorentzVectorParticle::vx, tauImpactParameter::LorentzVectorParticle::vy, and tauImpactParameter::LorentzVectorParticle::vz.
Referenced by ComputeMotherLorentzVectorPar(), and getRefitDaughters().
|
staticprivate |
Definition at line 184 of file TauA1NuConstrainedFitter.cc.
References a1_m, a1_px, a1_py, a1_pz, nu_px, nu_py, nu_pz, mathSSE::sqrt(), tau_phi, tau_theta, and findQualityFiles::v.
Referenced by SolveAmbiguityAnalytically(), SolveAmbiguityAnalyticallywithRot(), and TauRot().
bool TauA1NuConstrainedFitter::fit | ( | void | ) |
Definition at line 192 of file TauA1NuConstrainedFitter.cc.
References a1_m, a1_px, a1_py, a1_pz, ambiguity_, funct::cos(), cov, cov_0, mps_fire::i, tauImpactParameter::MultiProngTauSolver::minus, npar, par, tauImpactParameter::MultiProngTauSolver::plus, tauImpactParameter::ErrorMatrixPropagator::propagateError(), funct::sin(), SolveAmbiguityAnalytically(), SolveAmbiguityAnalyticallywithRot(), tauImpactParameter::MultiProngTauSolver::solveByRotation(), mathSSE::sqrt(), tau_phi, tau_theta, theta(), and tauImpactParameter::MultiProngTauSolver::zero.
Referenced by trackingPlots.Iteration::modules(), and PFTau3ProngReco::produce().
LorentzVectorParticle TauA1NuConstrainedFitter::getMother | ( | ) |
Definition at line 174 of file TauA1NuConstrainedFitter.cc.
References funct::abs(), b, EnergyCorrector::c, ComputeMotherLorentzVectorPar(), expcov, exppar, mps_fire::i, funct::m, particles_, tauImpactParameter::ErrorMatrixPropagator::propagateError(), tauImpactParameter::PDGInfo::tau_minus, and UpdateExpandedPar().
Referenced by PFTau3ProngReco::produce().
std::vector< LorentzVectorParticle > TauA1NuConstrainedFitter::getRefitDaughters | ( | ) |
Definition at line 160 of file TauA1NuConstrainedFitter.cc.
References b, EnergyCorrector::c, ComputeA1LorentzVectorPar(), ComputeNuLorentzVectorPar(), expcov, exppar, mps_fire::i, tauImpactParameter::PDGInfo::nu_tau, particles_, common_cff::pdgId, tauImpactParameter::ErrorMatrixPropagator::propagateError(), and UpdateExpandedPar().
Referenced by PFTau3ProngReco::produce().
double TauA1NuConstrainedFitter::getTauRotationSignificance | ( | ) |
Definition at line 267 of file TauA1NuConstrainedFitter.cc.
References cov_0, par, tauImpactParameter::ErrorMatrixPropagator::propagateError(), mathSSE::sqrt(), and TauRot().
|
staticprivate |
Definition at line 225 of file TauA1NuConstrainedFitter.cc.
References CovertParToObjects(), mps_fire::i, nu_px, nu_py, nu_pz, tauImpactParameter::MultiProngTauSolver::plus, tauImpactParameter::MultiProngTauSolver::solveByRotation(), and theta().
Referenced by fit(), and SolveAmbiguityAnalyticallywithRot().
|
staticprivate |
Definition at line 246 of file TauA1NuConstrainedFitter.cc.
References funct::cos(), CovertParToObjects(), mps_fire::i, funct::sin(), SolveAmbiguityAnalytically(), tau_phi, tau_theta, theta(), and tauImpactParameter::MultiProngTauSolver::thetaGJMax().
Referenced by fit().
|
staticprivate |
Definition at line 276 of file TauA1NuConstrainedFitter.cc.
References CovertParToObjects(), theta(), and tauImpactParameter::MultiProngTauSolver::thetaGJMax().
Referenced by getTauRotationSignificance().
|
private |
Definition at line 151 of file TauA1NuConstrainedFitter.cc.
References cov, expcov, exppar, mps_fire::i, npar, and par.
Referenced by getMother(), and getRefitDaughters().
|
private |
Definition at line 57 of file TauA1NuConstrainedFitter.h.
Referenced by fit().
|
private |
Definition at line 52 of file TauA1NuConstrainedFitter.h.
Referenced by fit(), TauA1NuConstrainedFitter(), and UpdateExpandedPar().
|
private |
Definition at line 51 of file TauA1NuConstrainedFitter.h.
Referenced by fit(), getTauRotationSignificance(), and TauA1NuConstrainedFitter().
|
private |
Definition at line 55 of file TauA1NuConstrainedFitter.h.
Referenced by getMother(), getRefitDaughters(), TauA1NuConstrainedFitter(), and UpdateExpandedPar().
|
private |
Definition at line 54 of file TauA1NuConstrainedFitter.h.
Referenced by getMother(), getRefitDaughters(), TauA1NuConstrainedFitter(), and UpdateExpandedPar().
|
private |
Definition at line 50 of file TauA1NuConstrainedFitter.h.
Referenced by fit(), getTauRotationSignificance(), TauA1NuConstrainedFitter(), and UpdateExpandedPar().
|
private |
Definition at line 49 of file TauA1NuConstrainedFitter.h.
Referenced by TauA1NuConstrainedFitter().
|
private |
Definition at line 56 of file TauA1NuConstrainedFitter.h.
Referenced by getMother(), getRefitDaughters(), and TauA1NuConstrainedFitter().
|
staticprivate |
Definition at line 59 of file TauA1NuConstrainedFitter.h.