#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::LagrangeMultipliersFitter | |
enum | ConvergeProc { ConstraintMin =0, Chi2Min, Chi2AndConstaintMin } |
enum | Parameters { par_vx =0, par_vy, par_vz, par_px, par_py, par_pz, par_m, npardim } |
enum | Position { pos_x =0, pos_y, pos_z, nposdim } |
Public Types inherited from tauImpactParameter::MultiProngTauSolver | |
enum | Ambiguity { zero, minus, plus, NAmbiguity } |
Public Member Functions | |
virtual bool | fit () |
LorentzVectorParticle | getMother () |
std::vector < LorentzVectorParticle > | getRefitDaughters () |
virtual double | nConstraints () |
virtual int | nDaughters () |
virtual double | ndf () |
TauA1NuConstrainedFitter (unsigned int ambiguity, const LorentzVectorParticle &A1, const TVector3 &PVertex, const TMatrixTSym< double > &VertexCov) | |
virtual | ~TauA1NuConstrainedFitter () |
Public Member Functions inherited from tauImpactParameter::LagrangeMultipliersFitter | |
virtual double | chiSquare () |
virtual double | cSum () |
virtual bool | isConfigured () |
virtual bool | isConverged () |
LagrangeMultipliersFitter () | |
virtual double | nIter () |
virtual void | setMaxDelta (double MaxDelta) |
virtual void | setNIterMax (int Nitermax) |
virtual void | setWeight (double weight) |
virtual | ~LagrangeMultipliersFitter () |
Public Member Functions inherited from tauImpactParameter::MultiProngTauSolver | |
MultiProngTauSolver () | |
virtual | ~MultiProngTauSolver () |
Protected Member Functions | |
virtual TVectorD | value (const TVectorD &v) |
Private Member Functions | |
void | solveAmbiguityAnalytically () |
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 > | findThetaGJMax (const TVectorT< double > &inpar) |
static TVectorT< double > | setThetaGJMax (const TVectorT< double > &inpar) |
Private Attributes | |
unsigned int | ambiguity_ |
int | ConstraintMode_ |
TMatrixTSym< double > | expcov_ |
TVectorT< double > | exppar_ |
std::vector < LorentzVectorParticle > | particles_ |
Additional Inherited Members | |
Static Public Member Functions inherited from tauImpactParameter::MultiProngTauSolver | |
static void | analyticESolver (TLorentzVector &nu_plus, TLorentzVector &nu_minus, const TLorentzVector &A1) |
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) |
static void | quadratic (double &x_plus, double &x_minus, double a, double b, double c) |
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 rotateback=true) |
static double | thetaGJMax (const TLorentzVector &a1) |
Protected Attributes inherited from tauImpactParameter::LagrangeMultipliersFitter | |
TMatrixTSym< double > | cov_ |
TMatrixTSym< double > | cov_0_ |
bool | isConfigured_ |
bool | isFit_ |
TVectorD | par_ |
TVectorD | par_0_ |
Definition at line 19 of file TauA1NuConstrainedFitter.h.
Enumerator | |
---|---|
norigpar |
Definition at line 26 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 24 of file TauA1NuConstrainedFitter.h.
TauA1NuConstrainedFitter::TauA1NuConstrainedFitter | ( | unsigned int | ambiguity, |
const LorentzVectorParticle & | A1, | ||
const TVector3 & | PVertex, | ||
const TMatrixTSym< double > & | VertexCov | ||
) |
Definition at line 13 of file TauA1NuConstrainedFitter.cc.
References a1_m, a1_px, a1_py, a1_pz, ambiguity_, computeExpParToPar(), computeInitalExpPar(), tauImpactParameter::LagrangeMultipliersFitter::cov_0_, tauImpactParameter::Particle::covariance(), tauImpactParameter::MultiProngTauSolver::estimateNu(), expcov_, exppar_, i, tauImpactParameter::LagrangeMultipliersFitter::isConfigured_, j, tauImpactParameter::MultiProngTauSolver::minus, nexpandedpar, tauImpactParameter::LorentzVectorParticle::NLorentzandVertexPar, npar, TtFullLepDaughter::Nu, nu_px, nu_py, nu_pz, tauImpactParameter::LorentzVectorParticle::NVertex, tauImpactParameter::LagrangeMultipliersFitter::par_, tauImpactParameter::LagrangeMultipliersFitter::par_0_, tauImpactParameter::LorentzVectorParticle::parameter(), particles_, phi, tauImpactParameter::MultiProngTauSolver::plus, tauImpactParameter::ErrorMatrixPropagator::propagateError(), pileupReCalc_HLTpaths::scale, tauImpactParameter::MultiProngTauSolver::setTauDirectionatThetaGJMax(), findQualityFiles::size, tauImpactParameter::MultiProngTauSolver::solveByRotation(), mathSSE::sqrt(), tau_phi, tau_theta, theta(), tauImpactParameter::LorentzVectorParticle::vx, tauImpactParameter::LorentzVectorParticle::vy, tauImpactParameter::LorentzVectorParticle::vz, and tauImpactParameter::MultiProngTauSolver::zero.
|
inlinevirtual |
Definition at line 22 of file TauA1NuConstrainedFitter.h.
|
staticprivate |
Definition at line 144 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 125 of file TauA1NuConstrainedFitter.cc.
Referenced by TauA1NuConstrainedFitter().
|
staticprivate |
Definition at line 103 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, evf::evtn::offset(), 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 156 of file TauA1NuConstrainedFitter.cc.
References a1_px, a1_py, a1_pz, computeA1LorentzVectorPar(), computeNuLorentzVectorPar(), 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 132 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 237 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 findThetaGJMax(), fit(), setThetaGJMax(), and value().
|
staticprivate |
Definition at line 288 of file TauA1NuConstrainedFitter.cc.
References covertParToObjects(), phi, theta(), and tauImpactParameter::MultiProngTauSolver::thetaGJMax().
Referenced by setThetaGJMax(), and solveAmbiguityAnalytically().
|
virtual |
Reimplemented from tauImpactParameter::LagrangeMultipliersFitter.
Definition at line 245 of file TauA1NuConstrainedFitter.cc.
References ambiguity_, covertParToObjects(), tauImpactParameter::LagrangeMultipliersFitter::fit(), tauImpactParameter::MultiProngTauSolver::minus, nu_px, nu_py, nu_pz, tauImpactParameter::LagrangeMultipliersFitter::par_, phi, tauImpactParameter::MultiProngTauSolver::plus, tauImpactParameter::MultiProngTauSolver::solveByRotation(), mathSSE::sqrt(), and theta().
Referenced by PFTau3ProngReco::produce().
|
virtual |
Implements tauImpactParameter::LagrangeMultipliersFitter.
Definition at line 204 of file TauA1NuConstrainedFitter.cc.
References b, trackerHits::c, computeMotherLorentzVectorPar(), expcov_, exppar_, i, m, particles_, tauImpactParameter::ErrorMatrixPropagator::propagateError(), tauImpactParameter::PDGInfo::tau_minus, and updateExpandedPar().
Referenced by PFTau3ProngReco::produce().
|
virtual |
Implements tauImpactParameter::LagrangeMultipliersFitter.
Definition at line 190 of file TauA1NuConstrainedFitter.cc.
References tauImpactParameter::PDGInfo::a_1_plus, b, trackerHits::c, computeA1LorentzVectorPar(), computeNuLorentzVectorPar(), expcov_, exppar_, i, tauImpactParameter::PDGInfo::nu_tau, particles_, tauImpactParameter::ErrorMatrixPropagator::propagateError(), and updateExpandedPar().
Referenced by PFTau3ProngReco::produce().
|
inlinevirtual |
Implements tauImpactParameter::LagrangeMultipliersFitter.
Definition at line 29 of file TauA1NuConstrainedFitter.h.
|
inlinevirtual |
Implements tauImpactParameter::LagrangeMultipliersFitter.
Definition at line 31 of file TauA1NuConstrainedFitter.h.
|
inlinevirtual |
Implements tauImpactParameter::LagrangeMultipliersFitter.
Definition at line 30 of file TauA1NuConstrainedFitter.h.
|
staticprivate |
Definition at line 299 of file TauA1NuConstrainedFitter.cc.
References a1_px, a1_py, a1_pz, covertParToObjects(), delta, findThetaGJMax(), nu_px, nu_py, nu_pz, phi, Pi, pileupReCalc_HLTpaths::scale, tauImpactParameter::MultiProngTauSolver::solveByRotation(), tau_phi, tau_theta, and theta().
Referenced by solveAmbiguityAnalytically().
|
private |
Definition at line 271 of file TauA1NuConstrainedFitter.cc.
References ambiguity_, tauImpactParameter::LagrangeMultipliersFitter::cov_, tauImpactParameter::LagrangeMultipliersFitter::cov_0_, findThetaGJMax(), i, j, tauImpactParameter::LagrangeMultipliersFitter::par_, tauImpactParameter::LagrangeMultipliersFitter::par_0_, tauImpactParameter::ErrorMatrixPropagator::propagateError(), setThetaGJMax(), and tauImpactParameter::MultiProngTauSolver::zero.
|
private |
Definition at line 181 of file TauA1NuConstrainedFitter.cc.
References tauImpactParameter::LagrangeMultipliersFitter::cov_, expcov_, exppar_, i, j, npar, and tauImpactParameter::LagrangeMultipliersFitter::par_.
Referenced by getMother(), and getRefitDaughters().
|
protectedvirtual |
Implements tauImpactParameter::LagrangeMultipliersFitter.
Definition at line 213 of file TauA1NuConstrainedFitter.cc.
References ambiguity_, covertParToObjects(), tauImpactParameter::MultiProngTauSolver::minus, phi, tauImpactParameter::MultiProngTauSolver::plus, funct::pow(), tauImpactParameter::MultiProngTauSolver::solveByRotation(), mathSSE::sqrt(), metsig::tau, tauImpactParameter::PDGInfo::tau_mass(), and theta().
|
private |
Definition at line 52 of file TauA1NuConstrainedFitter.h.
Referenced by fit(), solveAmbiguityAnalytically(), TauA1NuConstrainedFitter(), and value().
|
private |
Definition at line 51 of file TauA1NuConstrainedFitter.h.
|
private |
Definition at line 49 of file TauA1NuConstrainedFitter.h.
Referenced by getMother(), getRefitDaughters(), TauA1NuConstrainedFitter(), and updateExpandedPar().
|
private |
Definition at line 48 of file TauA1NuConstrainedFitter.h.
Referenced by getMother(), getRefitDaughters(), TauA1NuConstrainedFitter(), and updateExpandedPar().
|
private |
Definition at line 50 of file TauA1NuConstrainedFitter.h.
Referenced by getMother(), getRefitDaughters(), and TauA1NuConstrainedFitter().