ATLAS Offline Software
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MSVTXVALIDATIONALGUTILS_H
6 #define MSVTXVALIDATIONALGUTILS_H
7 
8 #include <vector>
9 #include <cmath>
10 
11 #include "GaudiKernel/SystemOfUnits.h"
12 #include "CxxUtils/fpcompare.h"
15 
20 #include "xAODJet/JetContainer.h"
21 
22 
23 namespace MSVtxValidationAlgUtils {
24 
25  // particle properties
26  double getCTau(const xAOD::TruthVertex *decVtx);
27  // takes the fraction of energy deposited in the ECal and computes the log10 of the ratio between the energy deposited in the ECal and HCal
28  double getCalEnergyLogRatio(double EMF);
30 
31  // decay chain utils
32  std::vector<const xAOD::TruthParticle*> getChildren(const xAOD::TruthParticle* mother);
33  std::vector<const xAOD::TruthParticle*> getGenStableChildren(const xAOD::TruthParticle* mother);
34  bool isFromParticle(const xAOD::TruthParticle *ptcl, int pdgId);
35  const xAOD::TruthParticle* getMotherLLP(const xAOD::TruthParticle *ptcl, int pdgId_llp);
36 
37  // vertex isolation
38  struct VtxIso {
39  double track_mindR{-1.};
40  double track_pTsum{-1.};
41  double jet_mindR{-1.};
42  };
43 
45  double trackIso_pT, double softTrackIso_R, double jetIso_pT, double jetIso_LogRatio);
46 }
47 
48 #endif // MSVTXVALIDATIONALGUTILS_H
InDetGNNHardScatterSelection::getter_utils::Tracks
std::vector< const xAOD::TrackParticle * > Tracks
Definition: InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/InDetGNNHardScatterSelection/CustomGetterUtils.h:49
MSVtxValidationAlgUtils::VtxIso::track_pTsum
double track_pTsum
Definition: MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.h:40
MSVtxValidationAlgUtils::getGenStableChildren
std::vector< const xAOD::TruthParticle * > getGenStableChildren(const xAOD::TruthParticle *particle)
Definition: MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.cxx:54
xAODP4Helpers.h
MSVtxValidationAlgUtils::VtxIso::track_mindR
double track_mindR
Definition: MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.h:39
TruthVertexContainer.h
TruthParticleContainer.h
Jets
Definition: Jets.py:1
MSVtxValidationAlgUtils::getCTau
double getCTau(const xAOD::TruthVertex *decVtx)
Definition: MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.cxx:10
MSVtxValidationAlgUtils::getCalEnergyLogRatio
double getCalEnergyLogRatio(double EMF)
Definition: MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.cxx:16
MSVtxValidationAlgUtils::VtxIso
Definition: MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.h:38
MSVtxValidationAlgUtils::isFromParticle
bool isFromParticle(const xAOD::TruthParticle *ptcl, int pdgId)
Definition: MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.cxx:78
GeoPrimitives.h
part1
Definition: part1.py:1
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:37
MSVtxValidationAlgUtils::comparePt
bool comparePt(const xAOD::TruthParticle *part1, const xAOD::TruthParticle *part2)
Definition: MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.cxx:33
fpcompare.h
Workaround x86 precision issues for FP inequality comparisons.
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
part2
Definition: part2.py:1
xAOD::TruthVertex_v1
Class describing a truth vertex in the MC record.
Definition: TruthVertex_v1.h:37
MSVtxValidationAlgUtils::VtxIso::jet_mindR
double jet_mindR
Definition: MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.h:41
MSVtxValidationAlgUtils::getMotherLLP
const xAOD::TruthParticle * getMotherLLP(const xAOD::TruthParticle *ptcl, int pdgId_llp)
Definition: MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.cxx:85
VertexContainer.h
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
JetContainer.h
MSVtxValidationAlgUtils
Definition: MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.cxx:8
MSVtxValidationAlgUtils::getIso
VtxIso getIso(const xAOD::Vertex *MSVtx, const xAOD::TrackParticleContainer &Tracks, const xAOD::JetContainer &Jets, double trackIso_pT, double softTrackIso_R, double jetIso_pT, double jetIso_LogRatio)
Definition: MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.cxx:92
TrackParticleContainer.h
MSVtxValidationAlgUtils::getChildren
std::vector< const xAOD::TruthParticle * > getChildren(const xAOD::TruthParticle *mother)
Definition: MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.cxx:38