FCCAnalyses
Loading...
Searching...
No Matches
ReconstructedParticle2Track.h
Go to the documentation of this file.
1
2#ifndef RECONSTRUCTEDPARTICLE2TRACK_ANALYZERS_H
3#define RECONSTRUCTEDPARTICLE2TRACK_ANALYZERS_H
4
5#include <cmath>
6#include <vector>
7
8#include "ROOT/RVec.hxx"
9#include "edm4hep/ReconstructedParticleData.h"
10#include "edm4hep/TrackData.h"
11#include "edm4hep/TrackState.h"
12#if __has_include("edm4hep/TrackerHit3DData.h")
13#include "edm4hep/TrackerHit3DData.h"
14#else
15#include "edm4hep/TrackerHitData.h"
16namespace edm4hep {
17 using TrackerHit3DData = edm4hep::TrackerHitData;
18}
19#endif
20#include <TVectorD.h>
21#include <TVector3.h>
22#include <TLorentzVector.h>
23
24#include <TMath.h>
25#include <iostream>
26
27namespace FCCAnalyses{
28
29namespace ReconstructedParticle2Track{
30
32 ROOT::VecOps::RVec<float> getRP2TRK_mom (ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
33 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
34
36 ROOT::VecOps::RVec<float> getRP2TRK_charge(ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
37 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
38
39 //compute the magnetic field Bz
40 ROOT::VecOps::RVec<float> getRP2TRK_Bz(const ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>& rps,
41 const ROOT::VecOps::RVec<edm4hep::TrackState>& tracks); //here computed for all particles passed
42
43 float Bz(const ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>& rps,
44 const ROOT::VecOps::RVec<edm4hep::TrackState>& tracks); //here only computed for the first charged particle encountered
45
46 ROOT::VecOps::RVec<float> XPtoPar_dxy(const ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>& in,
47 const ROOT::VecOps::RVec<edm4hep::TrackState>& tracks,
48 const TLorentzVector& V, // primary vertex
49 const float& Bz);
50
51 ROOT::VecOps::RVec<float> XPtoPar_dz(const ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>& in,
52 const ROOT::VecOps::RVec<edm4hep::TrackState>& tracks,
53 const TLorentzVector& V, // primary vertex
54 const float& Bz);
55
56 ROOT::VecOps::RVec<float> XPtoPar_phi(const ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>& in,
57 const ROOT::VecOps::RVec<edm4hep::TrackState>& tracks,
58 const TLorentzVector& V, // primary vertex
59 const float& Bz);
60
61 ROOT::VecOps::RVec<float> XPtoPar_C(const ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>& in,
62 const ROOT::VecOps::RVec<edm4hep::TrackState>& tracks,
63 const float& Bz);
64
65 ROOT::VecOps::RVec<float> XPtoPar_ct(const ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>& in,
66 const ROOT::VecOps::RVec<edm4hep::TrackState>& tracks,
67 const float& Bz);
68
70 ROOT::VecOps::RVec<float> getRP2TRK_D0 (ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
71 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
72
74 ROOT::VecOps::RVec<float> getRP2TRK_Z0 (ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
75 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
76
78 ROOT::VecOps::RVec<float> getRP2TRK_phi (ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
79 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
80
82 ROOT::VecOps::RVec<float> getRP2TRK_omega (ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
83 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
84
86 ROOT::VecOps::RVec<float> getRP2TRK_tanLambda (ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
87 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
88
90 ROOT::VecOps::RVec<float> getRP2TRK_D0_sig (ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
91 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
92
94 ROOT::VecOps::RVec<float> getRP2TRK_Z0_sig (ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
95 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
96
97
99 ROOT::VecOps::RVec<float> getRP2TRK_D0_cov (ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
100 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
101
103 ROOT::VecOps::RVec<float> getRP2TRK_Z0_cov (ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
104 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
105
107 ROOT::VecOps::RVec<float> getRP2TRK_phi_cov (ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
108 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
109
111 ROOT::VecOps::RVec<float> getRP2TRK_omega_cov (ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
112 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
113
115 ROOT::VecOps::RVec<float> getRP2TRK_tanLambda_cov (ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
116 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
117
119 ROOT::VecOps::RVec<float> getRP2TRK_d0_phi0_cov(ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
120 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
121
123 ROOT::VecOps::RVec<float> getRP2TRK_d0_omega_cov(ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
124 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
125
127 ROOT::VecOps::RVec<float> getRP2TRK_d0_z0_cov(ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
128 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
129
131 ROOT::VecOps::RVec<float> getRP2TRK_d0_tanlambda_cov(ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
132 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
133
135 ROOT::VecOps::RVec<float> getRP2TRK_phi0_omega_cov(ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
136 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
137
139 ROOT::VecOps::RVec<float> getRP2TRK_phi0_z0_cov(ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
140 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
141
143 ROOT::VecOps::RVec<float> getRP2TRK_phi0_tanlambda_cov(ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
144 ROOT::VecOps::RVec<edm4hep::TrackState> tracks) ;
145
147 ROOT::VecOps::RVec<float> getRP2TRK_omega_z0_cov(ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
148 ROOT::VecOps::RVec<edm4hep::TrackState> tracks) ;
149
151 ROOT::VecOps::RVec<float> getRP2TRK_omega_tanlambda_cov(ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
152 ROOT::VecOps::RVec<edm4hep::TrackState> tracks) ;
153
155 ROOT::VecOps::RVec<float> getRP2TRK_z0_tanlambda_cov(ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
156 ROOT::VecOps::RVec<edm4hep::TrackState> tracks);
157
158
160 ROOT::VecOps::RVec<edm4hep::TrackState> getRP2TRK( ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
161 ROOT::VecOps::RVec<edm4hep::TrackState> tracks ) ;
162
164 ROOT::VecOps::RVec<int> get_recoindTRK( ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
165 ROOT::VecOps::RVec<edm4hep::TrackState> tracks ) ;
166
168 int getTK_n(ROOT::VecOps::RVec<edm4hep::TrackState> x) ;
169
171 ROOT::VecOps::RVec<bool> hasTRK( ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in ) ;
172
173}//end NS ReconstructedParticle2Track
174
175}//end NS FCCAnalyses
176#endif
ROOT::VecOps::RVec< float > getRP2TRK_tanLambda_cov(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the variance (not the sigma) of the tanLambda of a track to a reconstructed particle.
Definition ReconstructedParticle2Track.cc:379
ROOT::VecOps::RVec< float > XPtoPar_ct(const ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > &in, const ROOT::VecOps::RVec< edm4hep::TrackState > &tracks, const float &Bz)
Definition ReconstructedParticle2Track.cc:219
float Bz(const ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > &rps, const ROOT::VecOps::RVec< edm4hep::TrackState > &tracks)
Definition ReconstructedParticle2Track.cc:49
ROOT::VecOps::RVec< float > getRP2TRK_omega(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the omega of a track to a reconstructed particle.
Definition ReconstructedParticle2Track.cc:343
ROOT::VecOps::RVec< float > getRP2TRK_tanLambda(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the tanLambda of a track to a reconstructed particle.
Definition ReconstructedParticle2Track.cc:367
ROOT::VecOps::RVec< float > getRP2TRK_mom(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the momentum of a track to a reconstructed particle.
Definition ReconstructedParticle2Track.cc:9
ROOT::VecOps::RVec< float > getRP2TRK_omega_tanlambda_cov(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the off-diag term (omega,tanlambda) of the covariance matrix.
Definition ReconstructedParticle2Track.cc:487
ROOT::VecOps::RVec< float > XPtoPar_dz(const ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > &in, const ROOT::VecOps::RVec< edm4hep::TrackState > &tracks, const TLorentzVector &V, const float &Bz)
Definition ReconstructedParticle2Track.cc:108
ROOT::VecOps::RVec< float > getRP2TRK_d0_z0_cov(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the off-diag term (d0,z0) of the covariance matrix.
Definition ReconstructedParticle2Track.cc:415
ROOT::VecOps::RVec< float > getRP2TRK_phi0_z0_cov(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the off-diag term (phi0,z0) of the covariance matrix.
Definition ReconstructedParticle2Track.cc:451
ROOT::VecOps::RVec< float > getRP2TRK_Z0(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the Z0 of a track to a reconstructed particle.
Definition ReconstructedParticle2Track.cc:282
ROOT::VecOps::RVec< float > getRP2TRK_d0_tanlambda_cov(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the off-diag term (d0,tanlambda) of the covariance matrix.
Definition ReconstructedParticle2Track.cc:427
ROOT::VecOps::RVec< float > getRP2TRK_phi0_omega_cov(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the off-diag term (phi0,omega) of the covariance matrix.
Definition ReconstructedParticle2Track.cc:439
ROOT::VecOps::RVec< float > getRP2TRK_d0_omega_cov(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the off-diag term (d0, omega) of the covariance matrix.
Definition ReconstructedParticle2Track.cc:403
ROOT::VecOps::RVec< int > get_recoindTRK(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the reco indices of particles that have tracks.
Definition ReconstructedParticle2Track.cc:528
ROOT::VecOps::RVec< float > XPtoPar_dxy(const ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > &in, const ROOT::VecOps::RVec< edm4hep::TrackState > &tracks, const TLorentzVector &V, const float &Bz)
Definition ReconstructedParticle2Track.cc:64
ROOT::VecOps::RVec< float > getRP2TRK_D0(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the D0 of a track to a reconstructed particle.
Definition ReconstructedParticle2Track.cc:246
ROOT::VecOps::RVec< float > getRP2TRK_phi_cov(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the variance (not the sigma) of the the Phi of a track to a reconstructed particle.
Definition ReconstructedParticle2Track.cc:330
ROOT::VecOps::RVec< float > getRP2TRK_D0_cov(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the variance (not the sigma) of the the D0 of a track to a reconstructed particle.
Definition ReconstructedParticle2Track.cc:258
int getTK_n(ROOT::VecOps::RVec< edm4hep::TrackState > x)
Return the size of a collection of TrackStates.
Definition ReconstructedParticle2Track.cc:541
ROOT::VecOps::RVec< edm4hep::TrackState > getRP2TRK(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the tracks associated to reco'ed particles.
Definition ReconstructedParticle2Track.cc:511
ROOT::VecOps::RVec< float > getRP2TRK_d0_phi0_cov(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the off-diag term (d0, phi0) of the covariance matrix.
Definition ReconstructedParticle2Track.cc:391
ROOT::VecOps::RVec< float > getRP2TRK_Bz(const ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > &rps, const ROOT::VecOps::RVec< edm4hep::TrackState > &tracks)
Definition ReconstructedParticle2Track.cc:32
ROOT::VecOps::RVec< float > getRP2TRK_phi(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the Phi of a track to a reconstructed particle.
Definition ReconstructedParticle2Track.cc:318
ROOT::VecOps::RVec< float > getRP2TRK_Z0_cov(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the variance (not the sigma) of the the Z0 of a track to a reconstructed particle.
Definition ReconstructedParticle2Track.cc:294
ROOT::VecOps::RVec< float > getRP2TRK_charge(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the charge of a track to a reconstructed particle.
Definition ReconstructedParticle2Track.cc:21
ROOT::VecOps::RVec< float > getRP2TRK_D0_sig(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the D0 significance of a track to a reconstructed particle.
Definition ReconstructedParticle2Track.cc:270
ROOT::VecOps::RVec< float > XPtoPar_phi(const ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > &in, const ROOT::VecOps::RVec< edm4hep::TrackState > &tracks, const TLorentzVector &V, const float &Bz)
Definition ReconstructedParticle2Track.cc:156
ROOT::VecOps::RVec< float > getRP2TRK_Z0_sig(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the Z0 significance of a track to a reconstructed particle.
Definition ReconstructedParticle2Track.cc:306
ROOT::VecOps::RVec< float > XPtoPar_C(const ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > &in, const ROOT::VecOps::RVec< edm4hep::TrackState > &tracks, const float &Bz)
Definition ReconstructedParticle2Track.cc:194
ROOT::VecOps::RVec< float > getRP2TRK_z0_tanlambda_cov(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the off-diag term (z0,tanlambda) of the covariance matrix.
Definition ReconstructedParticle2Track.cc:499
ROOT::VecOps::RVec< float > getRP2TRK_phi0_tanlambda_cov(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the off-diag term (phi0,tanlambda) of the covariance matrix.
Definition ReconstructedParticle2Track.cc:463
ROOT::VecOps::RVec< bool > hasTRK(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in)
Return if a Reco particle have an associated track.
Definition ReconstructedParticle2Track.cc:548
ROOT::VecOps::RVec< float > getRP2TRK_omega_z0_cov(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the off-diag term (omega,z0) of the covariance matrix.
Definition ReconstructedParticle2Track.cc:475
ROOT::VecOps::RVec< float > getRP2TRK_omega_cov(ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > in, ROOT::VecOps::RVec< edm4hep::TrackState > tracks)
Return the variance (not the sigma) of the omega of a track to a reconstructed particle.
Definition ReconstructedParticle2Track.cc:355
FCC analyzers collection.
Definition Algorithms.h:15
Definition JetConstituentsUtils.h:20
edm4hep::TrackerHitData TrackerHit3DData
Definition JetConstituentsUtils.h:21