1#ifndef SMEARING_ANALYZERS_H
2#define SMEARING_ANALYZERS_H
8#include "ROOT/RVec.hxx"
9#include "TLorentzVector.h"
10#include "TMatrixDSym.h"
12#include "edm4hep/MCParticleData.h"
17namespace SmearObjects {
28 SmearedTracks(
float smear_d0,
float smear_phi,
float smear_omega,
29 float smear_z0,
float smear_tlambda,
bool debug);
30 ROOT::VecOps::RVec<edm4hep::TrackState>
31 operator()(
const ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>
33 const ROOT::VecOps::RVec<edm4hep::TrackState> &alltracks,
34 const ROOT::VecOps::RVec<int> &RP2MC_indices,
35 const ROOT::VecOps::RVec<edm4hep::MCParticleData> &mcParticles);
41 const ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>
43 const ROOT::VecOps::RVec<edm4hep::TrackState> &alltracks,
44 const ROOT::VecOps::RVec<int> &RP2MC_indices,
45 const ROOT::VecOps::RVec<edm4hep::MCParticleData> &mcParticles);
49TVectorD
CovSmear(TVectorD x, TMatrixDSym C, TRandom *ran,
bool debug);
58 ROOT::VecOps::RVec<edm4hep::Quantity>
59 operator()(
const ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>
61 const ROOT::VecOps::RVec<edm4hep::Quantity> &dNdx,
62 const ROOT::VecOps::RVec<float> &length,
63 const ROOT::VecOps::RVec<int> &RP2MC_indices,
64 const ROOT::VecOps::RVec<edm4hep::MCParticleData> &mcParticles);
73 ROOT::VecOps::RVec<edm4hep::TrackerHit3DData>
74 operator()(
const ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>
76 const ROOT::VecOps::RVec<edm4hep::TrackData> &trackdata,
77 const ROOT::VecOps::RVec<edm4hep::TrackerHit3DData> &trackerhits,
78 const ROOT::VecOps::RVec<float> &length,
79 const ROOT::VecOps::RVec<int> &RP2MC_indices,
80 const ROOT::VecOps::RVec<edm4hep::MCParticleData> &mcParticles);
91 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>
92 operator()(
const ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>
94 const ROOT::VecOps::RVec<int> &RP2MC_indices,
95 const ROOT::VecOps::RVec<edm4hep::MCParticleData> &mcParticles);
TVectorD TrackParamFromMC_DelphesConv(edm4hep::MCParticleData aMCParticle)
for a given MC particle, returns a "track state", i.e.
Definition SmearObjects.cc:22
ROOT::VecOps::RVec< edm4hep::TrackState > mcTrackParameters(const ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > &allRecoParticles, const ROOT::VecOps::RVec< edm4hep::TrackState > &alltracks, const ROOT::VecOps::RVec< int > &RP2MC_indices, const ROOT::VecOps::RVec< edm4hep::MCParticleData > &mcParticles)
used to validate the method above.
Definition SmearObjects.cc:185
TVectorD CovSmear(TVectorD x, TMatrixDSym C, TRandom *ran, bool debug)
generates random values for a vector, given the covariance matrix of its components,...
Definition SmearObjects.cc:240
FCC analyzers collection.
Definition Algorithms.h:15
generates new reco particles, smeared by given parameters
Definition SmearObjects.h:84
int m_mode
Definition SmearObjects.h:88
ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > operator()(const ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > &allRecoParticles, const ROOT::VecOps::RVec< int > &RP2MC_indices, const ROOT::VecOps::RVec< edm4hep::MCParticleData > &mcParticles)
Definition SmearObjects.cc:517
SmearedReconstructedParticle(float scale, int type, int mode, bool debug)
Definition SmearObjects.cc:497
float m_scale
Definition SmearObjects.h:86
int m_type
Definition SmearObjects.h:87
bool m_debug
Definition SmearObjects.h:85
generates new tracker hits, by rescaling the timing measurement
Definition SmearObjects.h:68
ROOT::VecOps::RVec< edm4hep::TrackerHit3DData > operator()(const ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > &allRecoParticles, const ROOT::VecOps::RVec< edm4hep::TrackData > &trackdata, const ROOT::VecOps::RVec< edm4hep::TrackerHit3DData > &trackerhits, const ROOT::VecOps::RVec< float > &length, const ROOT::VecOps::RVec< int > &RP2MC_indices, const ROOT::VecOps::RVec< edm4hep::MCParticleData > &mcParticles)
Definition SmearObjects.cc:400
bool m_debug
Definition SmearObjects.h:69
SmearedTracksTOF(float m_scale, bool debug)
Definition SmearObjects.cc:391
TRandom m_random
Definition SmearObjects.h:70
float m_scale
Definition SmearObjects.h:71
generates new track states, by rescaling the covariance matrix of the tracks
Definition SmearObjects.h:24
SmearedTracks(float smear_d0, float smear_phi, float smear_omega, float smear_z0, float smear_tlambda, bool debug)
Definition SmearObjects.cc:36
ROOT::VecOps::RVec< edm4hep::TrackState > operator()(const ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > &allRecoParticles, const ROOT::VecOps::RVec< edm4hep::TrackState > &alltracks, const ROOT::VecOps::RVec< int > &RP2MC_indices, const ROOT::VecOps::RVec< edm4hep::MCParticleData > &mcParticles)
Definition SmearObjects.cc:49
bool m_debug
Definition SmearObjects.h:25
float m_smear_parameters[5]
Definition SmearObjects.h:27
TRandom m_random
Definition SmearObjects.h:26
generates new track dNdx, by rescaling the poisson error of the cluster count
Definition SmearObjects.h:53
ROOT::VecOps::RVec< edm4hep::Quantity > operator()(const ROOT::VecOps::RVec< edm4hep::ReconstructedParticleData > &allRecoParticles, const ROOT::VecOps::RVec< edm4hep::Quantity > &dNdx, const ROOT::VecOps::RVec< float > &length, const ROOT::VecOps::RVec< int > &RP2MC_indices, const ROOT::VecOps::RVec< edm4hep::MCParticleData > &mcParticles)
Definition SmearObjects.cc:313
bool m_debug
Definition SmearObjects.h:54
SmearedTracksdNdx(float m_scale, bool debug)
Definition SmearObjects.cc:304
TRandom m_random
Definition SmearObjects.h:55
float m_scale
Definition SmearObjects.h:56