CMS 3D CMS Logo

TauA1NuConstrainedFitter.h
Go to the documentation of this file.
1 #ifndef RecoTauTag_ImpactParameter_TauA1NuConstrainedFitter_h
2 #define RecoTauTag_ImpactParameter_TauA1NuConstrainedFitter_h
3 
4 /* From SimpleFits Package
5  * Designed an written by
6  * author: Ian M. Nugent
7  * Humboldt Foundations
8  */
9 
10 #include "TVector3.h"
14 #include <vector>
15 #include "TMatrixT.h"
16 #include "TVectorT.h"
17 #include "TMatrixTSym.h"
18 
19 namespace tauImpactParameter {
20 
22  public:
23  TauA1NuConstrainedFitter(unsigned int ambiguity,
24  const LorentzVectorParticle &A1,
25  const TVector3 &PVertex,
26  const TMatrixTSym<double> &VertexCov);
28 
31  enum OrignialPars { norigpar = 13 };
32 
33  std::vector<LorentzVectorParticle> getRefitDaughters();
36 
37  bool fit();
38 
39  private:
40  static TVectorT<double> ComputeInitalExpPar(const TVectorT<double> &inpar);
41  static TVectorT<double> ComputeExpParToPar(const TVectorT<double> &inpar);
42  static TVectorT<double> ComputeNuLorentzVectorPar(const TVectorT<double> &inpar);
43  static TVectorT<double> ComputeA1LorentzVectorPar(const TVectorT<double> &inpar);
44  static TVectorT<double> ComputeMotherLorentzVectorPar(const TVectorT<double> &inpar);
45  static TVectorT<double> SolveAmbiguityAnalytically(const TVectorT<double> &inpar, unsigned int ambiguity);
46  static TVectorT<double> SolveAmbiguityAnalyticallywithRot(const TVectorT<double> &inpar, unsigned int ambiguity);
47  static TVectorT<double> TauRot(const TVectorT<double> &inpar);
48 
49  void UpdateExpandedPar();
50  static void CovertParToObjects(
51  const TVectorD &v, TLorentzVector &a1, TLorentzVector &nu, double &phi, double &theta, TVector3 &TauDir);
52 
53  TVectorT<double> par_0;
54  TVectorT<double> par;
55  TMatrixTSym<double> cov_0;
56  TMatrixTSym<double> cov;
57 
58  TVectorT<double> exppar;
59  TMatrixTSym<double> expcov;
60  std::vector<LorentzVectorParticle> particles_;
61  unsigned int ambiguity_;
62  };
63 } // namespace tauImpactParameter
64 #endif
tauImpactParameter::TauA1NuConstrainedFitter::SolveAmbiguityAnalyticallywithRot
static TVectorT< double > SolveAmbiguityAnalyticallywithRot(const TVectorT< double > &inpar, unsigned int ambiguity)
Definition: TauA1NuConstrainedFitter.cc:290
tauImpactParameter::TauA1NuConstrainedFitter::tau_phi
Definition: TauA1NuConstrainedFitter.h:29
tauImpactParameter::TauA1NuConstrainedFitter::nu_px
Definition: TauA1NuConstrainedFitter.h:29
tauImpactParameter::TauA1NuConstrainedFitter::exppar
TVectorT< double > exppar
Definition: TauA1NuConstrainedFitter.h:58
tauImpactParameter::TauA1NuConstrainedFitter::a1_vx
Definition: TauA1NuConstrainedFitter.h:30
tauImpactParameter::TauA1NuConstrainedFitter::nexpandedpar
Definition: TauA1NuConstrainedFitter.h:30
tauImpactParameter::TauA1NuConstrainedFitter::TauA1NuConstrainedFitter
TauA1NuConstrainedFitter(unsigned int ambiguity, const LorentzVectorParticle &A1, const TVector3 &PVertex, const TMatrixTSym< double > &VertexCov)
Definition: TauA1NuConstrainedFitter.cc:15
tauImpactParameter::LorentzVectorParticle
Definition: LorentzVectorParticle.h:17
tauImpactParameter::TauA1NuConstrainedFitter::cov
TMatrixTSym< double > cov
Definition: TauA1NuConstrainedFitter.h:56
tauImpactParameter::TauA1NuConstrainedFitter::TauRot
static TVectorT< double > TauRot(const TVectorT< double > &inpar)
Definition: TauA1NuConstrainedFitter.cc:323
tauImpactParameter::TauA1NuConstrainedFitter::OrignialPars
OrignialPars
Definition: TauA1NuConstrainedFitter.h:31
tauImpactParameter::TauA1NuConstrainedFitter::a1_py
Definition: TauA1NuConstrainedFitter.h:29
tauImpactParameter::TauA1NuConstrainedFitter::a1_px
Definition: TauA1NuConstrainedFitter.h:29
tauImpactParameter
Definition: Chi2VertexFitter.h:14
tauImpactParameter::TauA1NuConstrainedFitter::par
TVectorT< double > par
Definition: TauA1NuConstrainedFitter.h:54
tauImpactParameter::TauA1NuConstrainedFitter::CovertParToObjects
static void CovertParToObjects(const TVectorD &v, TLorentzVector &a1, TLorentzVector &nu, double &phi, double &theta, TVector3 &TauDir)
Definition: TauA1NuConstrainedFitter.cc:209
tauImpactParameter::TauA1NuConstrainedFitter::Pars
Pars
Definition: TauA1NuConstrainedFitter.h:29
tauImpactParameter::TauA1NuConstrainedFitter::npar
Definition: TauA1NuConstrainedFitter.h:29
tauImpactParameter::TauA1NuConstrainedFitter::ComputeNuLorentzVectorPar
static TVectorT< double > ComputeNuLorentzVectorPar(const TVectorT< double > &inpar)
Definition: TauA1NuConstrainedFitter.cc:111
findQualityFiles.v
v
Definition: findQualityFiles.py:179
tauImpactParameter::TauA1NuConstrainedFitter::nu_pz
Definition: TauA1NuConstrainedFitter.h:29
tauImpactParameter::TauA1NuConstrainedFitter::particles_
std::vector< LorentzVectorParticle > particles_
Definition: TauA1NuConstrainedFitter.h:60
tauImpactParameter::TauA1NuConstrainedFitter::SolveAmbiguityAnalytically
static TVectorT< double > SolveAmbiguityAnalytically(const TVectorT< double > &inpar, unsigned int ambiguity)
Definition: TauA1NuConstrainedFitter.cc:265
tauImpactParameter::TauA1NuConstrainedFitter::a1_m
Definition: TauA1NuConstrainedFitter.h:29
tauImpactParameter::TauA1NuConstrainedFitter::ComputeExpParToPar
static TVectorT< double > ComputeExpParToPar(const TVectorT< double > &inpar)
Definition: TauA1NuConstrainedFitter.cc:103
tauImpactParameter::TauA1NuConstrainedFitter
Definition: TauA1NuConstrainedFitter.h:21
tauImpactParameter::TauA1NuConstrainedFitter::par_0
TVectorT< double > par_0
Definition: TauA1NuConstrainedFitter.h:53
theta
Geom::Theta< T > theta() const
Definition: Basic3DVectorLD.h:150
LorentzVectorParticle.h
tauImpactParameter::TauA1NuConstrainedFitter::UpdateExpandedPar
void UpdateExpandedPar()
Definition: TauA1NuConstrainedFitter.cc:164
tauImpactParameter::TauA1NuConstrainedFitter::tau_theta
Definition: TauA1NuConstrainedFitter.h:29
tauImpactParameter::TauA1NuConstrainedFitter::~TauA1NuConstrainedFitter
~TauA1NuConstrainedFitter() override
Definition: TauA1NuConstrainedFitter.h:27
MultiProngTauSolver.h
tauImpactParameter::TauA1NuConstrainedFitter::a1_vy
Definition: TauA1NuConstrainedFitter.h:30
tauImpactParameter::TauA1NuConstrainedFitter::ambiguity_
unsigned int ambiguity_
Definition: TauA1NuConstrainedFitter.h:61
tauImpactParameter::TauA1NuConstrainedFitter::norigpar
Definition: TauA1NuConstrainedFitter.h:31
tauImpactParameter::TauA1NuConstrainedFitter::fit
bool fit()
Definition: TauA1NuConstrainedFitter.cc:222
tauImpactParameter::TauA1NuConstrainedFitter::getTauRotationSignificance
double getTauRotationSignificance()
Definition: TauA1NuConstrainedFitter.cc:313
tauImpactParameter::TauA1NuConstrainedFitter::ComputeInitalExpPar
static TVectorT< double > ComputeInitalExpPar(const TVectorT< double > &inpar)
Definition: TauA1NuConstrainedFitter.cc:79
tauImpactParameter::TauA1NuConstrainedFitter::nu_py
Definition: TauA1NuConstrainedFitter.h:29
tauImpactParameter::TauA1NuConstrainedFitter::ComputeMotherLorentzVectorPar
static TVectorT< double > ComputeMotherLorentzVectorPar(const TVectorT< double > &inpar)
Definition: TauA1NuConstrainedFitter.cc:135
tauImpactParameter::TauA1NuConstrainedFitter::getRefitDaughters
std::vector< LorentzVectorParticle > getRefitDaughters()
Definition: TauA1NuConstrainedFitter.cc:176
tauImpactParameter::TauA1NuConstrainedFitter::cov_0
TMatrixTSym< double > cov_0
Definition: TauA1NuConstrainedFitter.h:55
tauImpactParameter::MultiProngTauSolver
Definition: MultiProngTauSolver.h:17
tauImpactParameter::TauA1NuConstrainedFitter::ComputeA1LorentzVectorPar
static TVectorT< double > ComputeA1LorentzVectorPar(const TVectorT< double > &inpar)
Definition: TauA1NuConstrainedFitter.cc:123
tauImpactParameter::TauA1NuConstrainedFitter::a1_pz
Definition: TauA1NuConstrainedFitter.h:29
tauImpactParameter::TauA1NuConstrainedFitter::expcov
TMatrixTSym< double > expcov
Definition: TauA1NuConstrainedFitter.h:59
tauImpactParameter::TauA1NuConstrainedFitter::getMother
LorentzVectorParticle getMother()
Definition: TauA1NuConstrainedFitter.cc:195
tauImpactParameter::TauA1NuConstrainedFitter::ExpandedPars
ExpandedPars
Definition: TauA1NuConstrainedFitter.h:30
tauImpactParameter::TauA1NuConstrainedFitter::a1_vz
Definition: TauA1NuConstrainedFitter.h:30
ErrorMatrixPropagator.h