FCCAnalyses
Loading...
Searching...
No Matches
SmearObjects.h
Go to the documentation of this file.
1#ifndef SMEAR_OBJECTS_ANALYZERS_H
2#define SMEAR_OBJECTS_ANALYZERS_H
3
4// Standard library
5#include <cmath>
6#include <vector>
7// ROOT
8#include "ROOT/RVec.hxx"
9#include "TLorentzVector.h"
10#include "TMath.h"
11#include "TMatrixDSym.h"
12#include "TRandom.h"
13// EDM4hep
14#include "edm4hep/MCParticleData.h"
15#include "edm4hep/RecDqdxData.h"
16// FCCAnalyses
19
20namespace FCCAnalyses ::SmearObjects {
21
24TVectorD TrackParamFromMC_DelphesConv(edm4hep::MCParticleData aMCParticle);
25
28 bool m_debug;
29 TRandom m_random;
30 float m_smear_parameters[5];
31 SmearedTracks(float smear_d0, float smear_phi, float smear_omega,
32 float smear_z0, float smear_tlambda, bool debug);
33 ROOT::VecOps::RVec<edm4hep::TrackState>
34 operator()(const ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>
35 &allRecoParticles,
36 const ROOT::VecOps::RVec<edm4hep::TrackState> &alltracks,
37 const ROOT::VecOps::RVec<int> &RP2MC_indices,
38 const ROOT::VecOps::RVec<edm4hep::MCParticleData> &mcParticles);
39};
40
43ROOT::VecOps::RVec<edm4hep::TrackState> mcTrackParameters(
44 const ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>
45 &allRecoParticles,
46 const ROOT::VecOps::RVec<edm4hep::TrackState> &alltracks,
47 const ROOT::VecOps::RVec<int> &RP2MC_indices,
48 const ROOT::VecOps::RVec<edm4hep::MCParticleData> &mcParticles);
49
52TVectorD CovSmear(TVectorD x, TMatrixDSym C, TRandom *ran, bool debug);
53
59 bool m_debug;
60 TRandom m_random;
61 float m_scale;
62
63 SmearedTracksdNdx(float m_scale, bool debug);
64
74 ROOT::VecOps::RVec<edm4hep::RecDqdxData>
75 operator()(const ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>
76 &allRecoParticles,
77 const TrackUtils::TrackDqdxHandler &dNdxHandler,
78 const ROOT::VecOps::RVec<float> &length,
79 const ROOT::VecOps::RVec<int> &RP2MC_indices,
80 const ROOT::VecOps::RVec<edm4hep::MCParticleData> &mcParticles);
81};
82
85 bool m_debug;
86 TRandom m_random;
87 float m_scale;
88 SmearedTracksTOF(float m_scale, bool debug);
89 ROOT::VecOps::RVec<edm4hep::TrackerHit3DData>
90 operator()(const ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>
91 &allRecoParticles,
92 const ROOT::VecOps::RVec<edm4hep::TrackData> &trackdata,
93 const ROOT::VecOps::RVec<edm4hep::TrackerHit3DData> &trackerhits,
94 const ROOT::VecOps::RVec<float> &length,
95 const ROOT::VecOps::RVec<int> &RP2MC_indices,
96 const ROOT::VecOps::RVec<edm4hep::MCParticleData> &mcParticles);
97};
98
102 float m_scale;
105 SmearedReconstructedParticle(float scale, int type, int mode, bool debug);
106
107 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>
108 operator()(const ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>
109 &allRecoParticles,
110 const ROOT::VecOps::RVec<int> &RP2MC_indices,
111 const ROOT::VecOps::RVec<edm4hep::MCParticleData> &mcParticles);
112};
113
114} // namespace FCCAnalyses::SmearObjects
115
116#endif /* SMEAR_OBJECTS_ANALYZERS_H */
TVectorD TrackParamFromMC_DelphesConv(edm4hep::MCParticleData aMCParticle)
for a given MC particle, returns a "track state", i.e.
Definition SmearObjects.cc:20
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:183
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:238
FCC analyzers collection.
Definition Algorithms.h:15
generates new reco particles, smeared by given parameters
Definition SmearObjects.h:100
generates new tracker hits, by rescaling the timing measurement
Definition SmearObjects.h:84
TRandom m_random
Definition SmearObjects.h:86
bool m_debug
Definition SmearObjects.h:85
float m_scale
Definition SmearObjects.h:87
generates new track states, by rescaling the covariance matrix of the tracks
Definition SmearObjects.h:27
TRandom m_random
Definition SmearObjects.h:29
bool m_debug
Definition SmearObjects.h:28
Generates new track dNdx, by rescaling the Poisson error of the cluster count.
Definition SmearObjects.h:58
TRandom m_random
Debug flag.
Definition SmearObjects.h:60
bool m_debug
Definition SmearObjects.h:59
float m_scale
Definition SmearObjects.h:61