FCCAnalyses
Loading...
Searching...
No Matches
VertexingUtils.h
Go to the documentation of this file.
1#ifndef VERTEXINGUTILS_ANALYZERS_H
2#define VERTEXINGUTILS_ANALYZERS_H
3
4#include <cmath>
5#include <vector>
6
7#include "ROOT/RVec.hxx"
8#include "edm4hep/ReconstructedParticleData.h"
9#include "edm4hep/MCParticleData.h"
10#include "edm4hep/TrackState.h"
11
12#include "edm4hep/VertexData.h"
13#include "edm4hep/Vertex.h"
14
15#include "TLorentzVector.h"
16#include "TVectorD.h"
17#include "TVector3.h"
18#include "TMatrixDSym.h"
19
20#include "fastjet/JetDefinition.hh"
21
22
23namespace FCCAnalyses{
24
28namespace VertexingUtils{
29
31 TVectorD XPtoPar(TVector3 x, TVector3 p, Double_t Q);
32
34 TVector3 ParToP(TVectorD Par);
35
36
39 edm4hep::VertexData vertex;
41 int mc_ind;
42 ROOT::VecOps::RVec<int> reco_ind; // indices of the tracks fitted to that vertex, in the collection of all tracks
43 ROOT::VecOps::RVec<float> reco_chi2;
44 ROOT::VecOps::RVec< TVector3 > updated_track_momentum_at_vertex;
45 ROOT::VecOps::RVec< TVectorD > updated_track_parameters;
46 ROOT::VecOps::RVec<float> final_track_phases;
47 };
48
51 ROOT::VecOps::RVec<FCCAnalysesVertex> vtx; // vertex object
52 ROOT::VecOps::RVec<int> pdgAbs; // pdg ID from reconstructions
53 ROOT::VecOps::RVec<double> invM; // invariant mass
54 ROOT::VecOps::RVec<int> nSV_jet; // no of V0s per jet
55 };
56
59 TVector3 vertex;
60 ROOT::VecOps::RVec<int> mc_ind;
61 ROOT::VecOps::RVec<int> mc_indneutral;
62 ROOT::VecOps::RVec<int> mother_ind;
63 ROOT::VecOps::RVec<int> gmother_ind;
64 };
65
67 struct selTracks {
68 selTracks( float arg_d0sig_min, float arg_d0sig_max, float arg_z0sig_min, float arg_z0sig_max) ;
69 float m_d0sig_min = 0;
70 float m_d0sig_max = 3;
71 float m_z0sig_min = 0;
72 float m_z0sig_max = 3;
73 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> operator() ( ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop,
74 ROOT::VecOps::RVec<edm4hep::TrackState> tracks ) ;
75 };
76
78 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> SelPrimaryTracks( ROOT::VecOps::RVec<int> recind,
79 ROOT::VecOps::RVec<int> mcind,
80 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> reco,
81 ROOT::VecOps::RVec<edm4hep::MCParticleData> mc,
82 TVector3 MC_EventPrimaryVertex) ;
83
85 int get_Nvertex( ROOT::VecOps::RVec<FCCAnalysesVertex> TheVertexColl );
86
88 FCCAnalysesVertex get_FCCAnalysesVertex(ROOT::VecOps::RVec<FCCAnalysesVertex> TheVertexColl, int index );
89
91 edm4hep::VertexData get_VertexData( FCCAnalysesVertex TheVertex ) ;
92
94 ROOT::VecOps::RVec<edm4hep::VertexData> get_VertexData( ROOT::VecOps::RVec<FCCAnalysesVertex> TheVertexColl ) ;
95
97 edm4hep::VertexData get_VertexData( ROOT::VecOps::RVec<FCCAnalysesVertex> TheVertexColl, int index);
98
100 int get_VertexNtrk( FCCAnalysesVertex TheVertex ) ;
101
102 ROOT::VecOps::RVec<int> get_VertexNtrk( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices ) ;
103
105 ROOT::VecOps::RVec<int> get_VertexRecoInd( FCCAnalysesVertex TheVertex ) ;
106
108 ROOT::VecOps::RVec<int> get_VertexRecoParticlesInd( FCCAnalysesVertex TheVertex,
109 const ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>& reco );
110
112 int get_nTracks(ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
113
115 bool compare_Tracks( const edm4hep::TrackState& tr1, const edm4hep::TrackState& tr2 ) ;
116
119
123 ROOT::VecOps::RVec<FCCAnalysesVertex> get_all_vertices( FCCAnalysesVertex PV,
124 ROOT::VecOps::RVec<FCCAnalysesVertex> SV );
125
126 ROOT::VecOps::RVec<FCCAnalysesVertex> get_all_vertices( FCCAnalysesVertex PV,
127 ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> SV );
128
133 double get_invM_pairs( FCCAnalysesVertex vertex,
134 double m1 = 0.13957039,
135 double m2 = 0.13957039) ;
136
137 ROOT::VecOps::RVec<double> get_invM_pairs( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices,
138 double m1 = 0.13957039,
139 double m2 = 0.13957039 ) ;
140
144 double get_invM( FCCAnalysesVertex vertex ) ;
145
149 ROOT::VecOps::RVec<double> get_invM( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices ) ;
150
154
156 double get_PV2vtx_angle( ROOT::VecOps::RVec<edm4hep::TrackState> tracks,
158 FCCAnalysesVertex PV ) ;
159
163 double get_trackE( edm4hep::TrackState track ) ;
164
168 int get_n_SV( FCCAnalysesV0 SV );
169
171 ROOT::VecOps::RVec<TVector3> get_position_SV( FCCAnalysesV0 SV );
172
174 ROOT::VecOps::RVec<int> get_pdg_V0( FCCAnalysesV0 V0 );
175
177 ROOT::VecOps::RVec<double> get_invM_V0( FCCAnalysesV0 V0 );
178
180 ROOT::VecOps::RVec<TVector3> get_p_SV( FCCAnalysesV0 SV );
181
183 ROOT::VecOps::RVec<double> get_chi2_SV( FCCAnalysesV0 SV );
184
186
189 int get_n_SV( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices );
190
192 ROOT::VecOps::RVec<TVector3> get_p_SV( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices );
193
195 ROOT::VecOps::RVec<TVector3> get_position_SV( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices );
196
198 ROOT::VecOps::RVec<double> get_pMag_SV( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices );
199
201 ROOT::VecOps::RVec<double> get_chi2_SV( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices );
202
204 ROOT::VecOps::RVec<double> get_norm_chi2_SV( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices );
205
207 ROOT::VecOps::RVec<int> get_nDOF_SV( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices );
208
210 ROOT::VecOps::RVec<double> get_theta_SV( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices );
211
213 ROOT::VecOps::RVec<double> get_phi_SV( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices );
214
216 ROOT::VecOps::RVec<double> get_relTheta_SV( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices,
217 ROOT::VecOps::RVec<int> nSV_jet,
218 ROOT::VecOps::RVec<fastjet::PseudoJet> jets );
219
221 ROOT::VecOps::RVec<double> get_relPhi_SV( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices,
222 ROOT::VecOps::RVec<int> nSV_jet,
223 ROOT::VecOps::RVec<fastjet::PseudoJet> jets );
224
226 ROOT::VecOps::RVec<double> get_pointingangle_SV( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices,
228
230 ROOT::VecOps::RVec<double> get_dxy_SV( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices,
232
234 ROOT::VecOps::RVec<double> get_d3d_SV( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices,
236
238 ROOT::VecOps::RVec<double> get_d3d_SV_obj( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices,
239 TVector3 location );
240
242 ROOT::VecOps::RVec<double> get_d3d_SV_obj( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices,
243 edm4hep::Vector3d location );
244
246 ROOT::VecOps::RVec<double> get_dR_SV_obj( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices,
247 TVector3 location );
248
250 ROOT::VecOps::RVec<double> get_dR_SV_obj( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices,
251 edm4hep::Vector3d location );
252
254
256
258 ROOT::VecOps::RVec<FCCAnalysesVertex> get_all_SVs( ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> vertices );
259
261 int get_n_SV( ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> vertices );
262
264 ROOT::VecOps::RVec<int> get_n_SV_jets( ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> vertices );
265
267 std::vector<std::vector<edm4hep::TrackState>> get_tracksInJets( ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recoparticles,
268 ROOT::VecOps::RVec<edm4hep::TrackState> thetracks,
269 ROOT::VecOps::RVec<fastjet::PseudoJet> jets,
270 std::vector<std::vector<int>> jet_consti );
271
273 ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> get_svInJets( ROOT::VecOps::RVec<FCCAnalysesVertex> vertices,
274 ROOT::VecOps::RVec<int> nSV_jet );
275
276 // --- for get_SV_jets --- //
277 ROOT::VecOps::RVec<ROOT::VecOps::RVec<double>> get_invM( ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> vertices );
278 ROOT::VecOps::RVec<ROOT::VecOps::RVec<TVector3>> get_p_SV( ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> vertices );
279 ROOT::VecOps::RVec<ROOT::VecOps::RVec<double>> get_pMag_SV( ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> vertices );
280 ROOT::VecOps::RVec<ROOT::VecOps::RVec<int>> get_VertexNtrk( ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> vertices );
281 ROOT::VecOps::RVec<ROOT::VecOps::RVec<double>> get_chi2_SV( ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> vertices );
282 ROOT::VecOps::RVec<ROOT::VecOps::RVec<double>> get_norm_chi2_SV( ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> vertices );
283 ROOT::VecOps::RVec<ROOT::VecOps::RVec<int>> get_nDOF_SV( ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> vertices );
284 ROOT::VecOps::RVec<ROOT::VecOps::RVec<double>> get_theta_SV( ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> vertices );
285 ROOT::VecOps::RVec<ROOT::VecOps::RVec<double>> get_phi_SV( ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> vertices );
286 ROOT::VecOps::RVec<ROOT::VecOps::RVec<double>> get_relTheta_SV( ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> vertices, ROOT::VecOps::RVec<fastjet::PseudoJet> jets );
287 ROOT::VecOps::RVec<ROOT::VecOps::RVec<double>> get_relPhi_SV( ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> vertices, ROOT::VecOps::RVec<fastjet::PseudoJet> jets );
288 ROOT::VecOps::RVec<ROOT::VecOps::RVec<double>> get_pointingangle_SV( ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> vertices, FCCAnalysesVertex PV );
289 ROOT::VecOps::RVec<ROOT::VecOps::RVec<double>> get_dxy_SV( ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> vertices, FCCAnalysesVertex PV );
290 ROOT::VecOps::RVec<ROOT::VecOps::RVec<double>> get_d3d_SV( ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> vertices, FCCAnalysesVertex PV );
291 ROOT::VecOps::RVec<ROOT::VecOps::RVec<int>> get_pdg_V0( ROOT::VecOps::RVec<int> pdg, ROOT::VecOps::RVec<int> nSV_jet );
292 ROOT::VecOps::RVec<ROOT::VecOps::RVec<double>> get_invM_V0( ROOT::VecOps::RVec<double> invM, ROOT::VecOps::RVec<int> nSV_jet );
294 ROOT::VecOps::RVec<ROOT::VecOps::RVec<TVector3>> get_position_SV( ROOT::VecOps::RVec<ROOT::VecOps::RVec<FCCAnalysesVertex>> vertices );
295 // --- for get_SV_jets --- //
296
297 float get_trackMom( edm4hep::TrackState & atrack );
298
299
300// --- Conversion methods between the Delphes and edm4hep conventions
301
303 TVectorD Edm4hep2Delphes_TrackParam( const TVectorD& param, bool Units_mm );
305 TVectorD Delphes2Edm4hep_TrackParam( const TVectorD& param, bool Units_mm );
307 TMatrixDSym Edm4hep2Delphes_TrackCovMatrix( const std::array<float, 21>& covMatrix, bool Units_mm );
308#if __has_include("edm4hep/CovMatrix6f.h")
309 TMatrixDSym Edm4hep2Delphes_TrackCovMatrix( const edm4hep::CovMatrix6f& covMatrix, bool Units_mm );
310#endif
312 std::array<float, 21> Delphes2Edm4hep_TrackCovMatrix( const TMatrixDSym& cov, bool Units_mm ) ;
313
314
316 TVectorD get_trackParam( edm4hep::TrackState & atrack, bool Units_mm = false) ;
317 TMatrixDSym get_trackCov( const edm4hep::TrackState & atrack, bool Units_mm = false) ;
318
319 TVectorD ParToACTS(TVectorD Par);
320 TMatrixDSym CovToACTS(TMatrixDSym Cov,TVectorD Par);
321
322
323
324}//end NS VertexingUtils
325
326}//end NS FCCAnalyses
327#endif
double get_PV2vtx_angle(ROOT::VecOps::RVec< edm4hep::TrackState > tracks, FCCAnalysesVertex vtx, FCCAnalysesVertex PV)
returns cos of the angle b/n track (that form the vtx) momentum sum & PV to vtx displacement vector
Definition VertexingUtils.cc:585
ROOT::VecOps::RVec< double > get_invM_V0(FCCAnalysesV0 V0)
Return the invariant masses of all reconstructed V0s.
Definition VertexingUtils.cc:651
ROOT::VecOps::RVec< double > get_relTheta_SV(ROOT::VecOps::RVec< FCCAnalysesVertex > vertices, ROOT::VecOps::RVec< int > nSV_jet, ROOT::VecOps::RVec< fastjet::PseudoJet > jets)
Return polar angle (theta) of all reconstructed vertices wrt jets (or V0.vtx)
Definition VertexingUtils.cc:936
int get_nTracks(ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the number of tracks in a given track collection.
Definition VertexingUtils.cc:88
std::vector< std::vector< edm4hep::TrackState > > get_tracksInJets(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > recoparticles, ROOT::VecOps::RVec< edm4hep::TrackState > thetracks, ROOT::VecOps::RVec< fastjet::PseudoJet > jets, std::vector< std::vector< int > > jet_consti)
Return the tracks separated by jets.
Definition VertexingUtils.cc:1033
TMatrixDSym CovToACTS(TMatrixDSym Cov, TVectorD Par)
Definition VertexingUtils.cc:389
ROOT::VecOps::RVec< double > get_dxy_SV(ROOT::VecOps::RVec< FCCAnalysesVertex > vertices, FCCAnalysesVertex PV)
Return the distances of all reconstructed vertices from PV in xy plane [mm] (or V0....
Definition VertexingUtils.cc:834
double get_invM_pairs(FCCAnalysesVertex vertex, double m1=0.13957039, double m2=0.13957039)
returns the invariant mass of a two-track vertex CAUTION: m1 -> mass of first track,...
Definition VertexingUtils.cc:464
ROOT::VecOps::RVec< double > get_relPhi_SV(ROOT::VecOps::RVec< FCCAnalysesVertex > vertices, ROOT::VecOps::RVec< int > nSV_jet, ROOT::VecOps::RVec< fastjet::PseudoJet > jets)
Return azimuthal angle (phi) of all reconstructed vertices wrt jets (or V0.vtx)
Definition VertexingUtils.cc:963
TVectorD XPtoPar(TVector3 x, TVector3 p, Double_t Q)
from delphes: returns track state parameters (delphes convention) for a given vertex (x),...
Definition VertexingUtils.cc:16
int get_n_SV(FCCAnalysesV0 SV)
V0 Reconstruction Return the number of reconstructed V0s.
Definition VertexingUtils.cc:628
edm4hep::VertexData get_VertexData(FCCAnalysesVertex TheVertex)
Retrieve the edm4hep::VertexData from the vertex object.
Definition VertexingUtils.cc:315
ROOT::VecOps::RVec< FCCAnalysesVertex > get_all_vertices(FCCAnalysesVertex PV, ROOT::VecOps::RVec< FCCAnalysesVertex > SV)
functions used for SV reconstruction
Definition VertexingUtils.cc:423
TVectorD ParToACTS(TVectorD Par)
Definition VertexingUtils.cc:372
ROOT::VecOps::RVec< TVector3 > get_p_SV(FCCAnalysesV0 SV)
Return the momentum of all reconstructed V0s.
Definition VertexingUtils.cc:658
ROOT::VecOps::RVec< double > get_phi_SV(ROOT::VecOps::RVec< FCCAnalysesVertex > vertices)
Return azimuthal angle (phi) of all reconstructed vertices (or V0.vtx)
Definition VertexingUtils.cc:790
double get_PV2V0angle(FCCAnalysesVertex V0, FCCAnalysesVertex PV)
returns the cos of the angle b/n V0 candidate's (or any vtx's) momentum & PV to V0 (vtx) displacement...
Definition VertexingUtils.cc:562
ROOT::VecOps::RVec< double > get_d3d_SV(ROOT::VecOps::RVec< FCCAnalysesVertex > vertices, FCCAnalysesVertex PV)
Return the distances of all reconstructed vertices from PV in 3D [mm] (or V0.vtx)
Definition VertexingUtils.cc:851
std::array< float, 21 > Delphes2Edm4hep_TrackCovMatrix(const TMatrixDSym &cov, bool Units_mm)
convert track covariance matrix, from delphes to edm4hep conventions
Definition VertexingUtils.cc:221
ROOT::VecOps::RVec< double > get_theta_SV(ROOT::VecOps::RVec< FCCAnalysesVertex > vertices)
Return polar angle (theta) of all reconstructed vertices (or V0.vtx)
Definition VertexingUtils.cc:776
TMatrixDSym get_trackCov(const edm4hep::TrackState &atrack, bool Units_mm=false)
Definition VertexingUtils.cc:281
int get_VertexNtrk(FCCAnalysesVertex TheVertex)
Retrieve the number of tracks from FCCAnalysesVertex.
Definition VertexingUtils.cc:336
ROOT::VecOps::RVec< double > get_norm_chi2_SV(ROOT::VecOps::RVec< FCCAnalysesVertex > vertices)
Return normalised chi2 of all reconstructed vertices (or V0.vtx)
Definition VertexingUtils.cc:755
ROOT::VecOps::RVec< double > get_pMag_SV(ROOT::VecOps::RVec< FCCAnalysesVertex > vertices)
Return the momentum magnitude of all reconstructed vertices (or V0.vtx)
Definition VertexingUtils.cc:725
ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > SelPrimaryTracks(ROOT::VecOps::RVec< int > recind, ROOT::VecOps::RVec< int > mcind, ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > reco, ROOT::VecOps::RVec< edm4hep::MCParticleData > mc, TVector3 MC_EventPrimaryVertex)
Selection of primary particles :
Definition VertexingUtils.cc:60
bool compare_Tracks(const edm4hep::TrackState &tr1, const edm4hep::TrackState &tr2)
compare two track states
Definition VertexingUtils.cc:93
TVector3 ParToP(TVectorD Par)
from delphes: returns the momentum corresponding to a given track state
Definition VertexingUtils.cc:10
ROOT::VecOps::RVec< double > get_chi2_SV(FCCAnalysesV0 SV)
Return chi2 of all reconstructed V0s.
Definition VertexingUtils.cc:675
ROOT::VecOps::RVec< int > get_VertexRecoParticlesInd(FCCAnalysesVertex TheVertex, const ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > &reco)
Retrieve the indices of the tracks fitted to that vertex, but now in the collection of RecoParticles.
Definition VertexingUtils.cc:351
double get_invM(FCCAnalysesVertex vertex)
returns the invariant mass of a vertex assuming all tracks to be pions
Definition VertexingUtils.cc:515
ROOT::VecOps::RVec< ROOT::VecOps::RVec< FCCAnalysesVertex > > get_svInJets(ROOT::VecOps::RVec< FCCAnalysesVertex > vertices, ROOT::VecOps::RVec< int > nSV_jet)
Return V0s separated by jets.
Definition VertexingUtils.cc:1014
ROOT::VecOps::RVec< FCCAnalysesVertex > get_all_SVs(ROOT::VecOps::RVec< ROOT::VecOps::RVec< FCCAnalysesVertex > > vertices)
For get_SV_jets ///.
Definition VertexingUtils.cc:449
ROOT::VecOps::RVec< double > get_d3d_SV_obj(ROOT::VecOps::RVec< FCCAnalysesVertex > vertices, TVector3 location)
Return the distances of all reconstructed verteces from given TVector3d object in 3D [mm] (or V0....
Definition VertexingUtils.cc:869
FCCAnalysesVertex get_FCCAnalysesVertex(ROOT::VecOps::RVec< FCCAnalysesVertex > TheVertexColl, int index)
Retrieve a single FCCAnalyses vertex from the collection of vertex object.
Definition VertexingUtils.cc:303
float get_trackMom(edm4hep::TrackState &atrack)
Definition VertexingUtils.cc:289
ROOT::VecOps::RVec< int > get_pdg_V0(FCCAnalysesV0 V0)
Return the PDG IDs of all reconstructed V0s.
Definition VertexingUtils.cc:645
ROOT::VecOps::RVec< int > get_VertexRecoInd(FCCAnalysesVertex TheVertex)
Retrieve the tracks indices from FCCAnalysesVertex.
Definition VertexingUtils.cc:347
TVectorD Delphes2Edm4hep_TrackParam(const TVectorD &param, bool Units_mm)
convert track parameters, from delphes to edm4hep conventions
Definition VertexingUtils.cc:131
ROOT::VecOps::RVec< int > get_n_SV_jets(ROOT::VecOps::RVec< ROOT::VecOps::RVec< FCCAnalysesVertex > > vertices)
Return the number of reconstructed SVs per jet.
Definition VertexingUtils.cc:1001
ROOT::VecOps::RVec< int > get_nDOF_SV(ROOT::VecOps::RVec< FCCAnalysesVertex > vertices)
Return no of DOF of all reconstructed vertices (or V0.vtx)
Definition VertexingUtils.cc:765
TVectorD Edm4hep2Delphes_TrackParam(const TVectorD &param, bool Units_mm)
convert track parameters, from edm4hep to delphes conventions
Definition VertexingUtils.cc:108
ROOT::VecOps::RVec< double > get_dR_SV_obj(ROOT::VecOps::RVec< FCCAnalysesVertex > vertices, TVector3 location)
Return the distance in R of all reconstructed verteces from given TVector3d object in 3D [mm] (or V0....
Definition VertexingUtils.cc:903
TVectorD get_trackParam(edm4hep::TrackState &atrack, bool Units_mm=false)
— Internal methods needed by the code of Franco B:
Definition VertexingUtils.cc:264
TMatrixDSym Edm4hep2Delphes_TrackCovMatrix(const std::array< float, 21 > &covMatrix, bool Units_mm)
convert track covariance matrix, from edm4hep to delphes conventions
Definition VertexingUtils.cc:163
ROOT::VecOps::RVec< TVector3 > get_position_SV(FCCAnalysesV0 SV)
Return the vertex position of all reconstructed V0s (in mm)
Definition VertexingUtils.cc:634
int get_Nvertex(ROOT::VecOps::RVec< FCCAnalysesVertex > TheVertexColl)
Retrieve the number of reconstructed vertices from the collection of vertex object.
Definition VertexingUtils.cc:311
double get_trackE(edm4hep::TrackState track)
returns a track's energy assuming the track to be a pion
Definition VertexingUtils.cc:610
ROOT::VecOps::RVec< double > get_pointingangle_SV(ROOT::VecOps::RVec< FCCAnalysesVertex > vertices, FCCAnalysesVertex PV)
Return the pointing angle of all reconstructed vertices (or V0.vtx)
Definition VertexingUtils.cc:803
FCC analyzers collection.
Definition Algorithms.h:15
Structure to keep useful information that is related to the V0.
Definition VertexingUtils.h:50
ROOT::VecOps::RVec< int > pdgAbs
Definition VertexingUtils.h:52
ROOT::VecOps::RVec< double > invM
Definition VertexingUtils.h:53
ROOT::VecOps::RVec< int > nSV_jet
Definition VertexingUtils.h:54
ROOT::VecOps::RVec< FCCAnalysesVertex > vtx
Definition VertexingUtils.h:51
Structure to keep useful track information that is related to the vertex.
Definition VertexingUtils.h:58
ROOT::VecOps::RVec< int > gmother_ind
Definition VertexingUtils.h:63
ROOT::VecOps::RVec< int > mc_ind
Definition VertexingUtils.h:60
ROOT::VecOps::RVec< int > mc_indneutral
Definition VertexingUtils.h:61
ROOT::VecOps::RVec< int > mother_ind
Definition VertexingUtils.h:62
TVector3 vertex
Definition VertexingUtils.h:59
Structure to keep useful track information that is related to the vertex.
Definition VertexingUtils.h:38
ROOT::VecOps::RVec< float > final_track_phases
Definition VertexingUtils.h:46
ROOT::VecOps::RVec< int > reco_ind
index in the MC vertex collection if any
Definition VertexingUtils.h:42
ROOT::VecOps::RVec< TVector3 > updated_track_momentum_at_vertex
Definition VertexingUtils.h:44
ROOT::VecOps::RVec< float > reco_chi2
Definition VertexingUtils.h:43
int mc_ind
Definition VertexingUtils.h:41
int ntracks
Definition VertexingUtils.h:40
edm4hep::VertexData vertex
Definition VertexingUtils.h:39
ROOT::VecOps::RVec< TVectorD > updated_track_parameters
Definition VertexingUtils.h:45
Selection of particles based on the d0 / z0 significances of the associated track.
Definition VertexingUtils.h:67
float m_z0sig_max
Definition VertexingUtils.h:72
float m_d0sig_min
Definition VertexingUtils.h:69
float m_d0sig_max
Definition VertexingUtils.h:70
selTracks(float arg_d0sig_min, float arg_d0sig_max, float arg_z0sig_min, float arg_z0sig_max)
Definition VertexingUtils.cc:26
float m_z0sig_min
Definition VertexingUtils.h:71
ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > operator()(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > recop, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Definition VertexingUtils.cc:30