FCCAnalyses 0.13.1
Loading...
Searching...
No Matches
VertexFitterSimple.h
Go to the documentation of this file.
1#ifndef VERTEXFITTERSIMPLE_ANALYZERS_H
2#define VERTEXFITTERSIMPLE_ANALYZERS_H
3
4#include <cmath>
5#include <vector>
6
7#include "ROOT/RVec.hxx"
8#include "edm4hep/ReconstructedParticleData.h"
9#include "edm4hep/TrackState.h"
10
11#include "TVectorD.h"
12#include "TVector3.h"
13#include "TMatrixDSym.h"
14#include "TMath.h"
15#include "TDecompChol.h"
16#include "TMatrixD.h"
17
20#include "VertexingUtils.h"
21
22#include "edm4hep/VertexData.h"
23#include "edm4hep/Vertex.h"
24
25#include "TrackCovariance/VertexFit.h" // from Delphes - updates Franco, Jul 2022
26#include "TrackCovariance/VertexMore.h"
27
28namespace FCCAnalyses{
29
37
42 int Primary,
43 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recoparticles,
44 ROOT::VecOps::RVec<edm4hep::TrackState> alltracks,
45 bool BeamSpotConstraint = false, double sigmax = 0., double sigmay = 0.,
46 double sigmaz = 0., double bsc_x = 0., double bsc_y = 0., double bsc_z = 0.,
47 bool ComputeMomentaAtVertex = true);
48
58VertexFitter_Tk(int Primary, ROOT::VecOps::RVec<edm4hep::TrackState> tracks,
59 bool BeamSpotConstraint = false, double sigmax = 0.,
60 double sigmay = 0., double sigmaz = 0., double bsc_x = 0.,
61 double bsc_y = 0., double bsc_z = 0.,
62 bool ComputeMomentaAtVertex = true);
63
65VertexFitter_Tk(int Primary, ROOT::VecOps::RVec<edm4hep::TrackState> tracks,
66 const ROOT::VecOps::RVec<edm4hep::TrackState> &alltracks,
67 bool BeamSpotConstraint = false, double sigmax = 0.,
68 double sigmay = 0., double sigmaz = 0., double bsc_x = 0.,
69 double bsc_y = 0., double bsc_z = 0.,
70 bool ComputeMomentaAtVertex = true);
71
73 ROOT::VecOps::RVec<edm4hep::TrackState> get_PrimaryTracks( ROOT::VecOps::RVec<edm4hep::TrackState> tracks,
74 bool BeamSpotConstraint,
75 double bsc_sigmax, double bsc_sigmay, double bsc_sigmaz,
76 double bsc_x, double bsc_y, double bsc_z ) ;
77
78
80 ROOT::VecOps::RVec<edm4hep::TrackState> get_NonPrimaryTracks( ROOT::VecOps::RVec<edm4hep::TrackState> allTracks,
81 ROOT::VecOps::RVec<edm4hep::TrackState> primaryTracks ) ;
82
84 ROOT::VecOps::RVec<bool> IsPrimary_forTracks( ROOT::VecOps::RVec<edm4hep::TrackState> allTracks,
85 ROOT::VecOps::RVec<edm4hep::TrackState> primaryTracks ) ;
86
87
88/*
89 Double_t FastRv(TVectorD p1, TVectorD p2) ;
90 TMatrixDSym RegInv3(TMatrixDSym &Smat0) ;
91 TMatrixD Fill_A(TVectorD par, Double_t phi) ;
92 TVectorD Fill_a(TVectorD par, Double_t phi) ;
93 TVectorD Fill_x0(TVectorD par) ;
94 TVectorD Fill_x(TVectorD par, Double_t phi) ;
95
96 TVectorD XPtoPar(TVector3 x, TVector3 p, Double_t Q);
97 TVector3 ParToP(TVectorD Par);
98
99 TVectorD XPtoPar(TVector3 x, TVector3 p, Double_t Q);
100 TVector3 ParToP(TVectorD Par);
101*/
102
103
104
105}//end NS VertexFitterSimple
106
107}//end NS FCCAnalyses
108#endif
Vertex interface using Franco Bedeshi's code.
Definition VertexFitterSimple.h:36
VertexingUtils::FCCAnalysesVertex VertexFitter(int Primary, ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > recoparticles, ROOT::VecOps::RVec< edm4hep::TrackState > alltracks, bool BeamSpotConstraint=false, double sigmax=0., double sigmay=0., double sigmaz=0., double bsc_x=0., double bsc_y=0., double bsc_z=0., bool ComputeMomentaAtVertex=true)
Vertex (code from Franco Bedeschi): passing the recoparticles.
Definition VertexFitterSimple.cc:74
VertexingUtils::FCCAnalysesVertex VertexFitter_Tk(int Primary, ROOT::VecOps::RVec< edm4hep::TrackState > tracks, bool BeamSpotConstraint=false, double sigmax=0., double sigmay=0., double sigmaz=0., double bsc_x=0., double bsc_y=0., double bsc_z=0., bool ComputeMomentaAtVertex=true)
Vertex (code from Franco Bedeschi): passing the tracks.
Definition VertexFitterSimple.cc:121
ROOT::VecOps::RVec< edm4hep::TrackState > get_NonPrimaryTracks(ROOT::VecOps::RVec< edm4hep::TrackState > allTracks, ROOT::VecOps::RVec< edm4hep::TrackState > primaryTracks)
Return the tracks that are NOT flagged as coming from the primary vertex.
Definition VertexFitterSimple.cc:413
ROOT::VecOps::RVec< bool > IsPrimary_forTracks(ROOT::VecOps::RVec< edm4hep::TrackState > allTracks, ROOT::VecOps::RVec< edm4hep::TrackState > primaryTracks)
for an input vector of tracks, return a vector of bools that tell if the track was identified as a pr...
Definition VertexFitterSimple.cc:435
ROOT::VecOps::RVec< edm4hep::TrackState > get_PrimaryTracks(ROOT::VecOps::RVec< edm4hep::TrackState > tracks, bool BeamSpotConstraint, double bsc_sigmax, double bsc_sigmay, double bsc_sigmaz, double bsc_x, double bsc_y, double bsc_z)
Return the tracks that are flagged as coming from the primary vertex.
Definition VertexFitterSimple.cc:303
FCC analyzers collection.
Definition Algorithms.h:15
Structure to keep useful track information that is related to the vertex.
Definition VertexingUtils.h:38