ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonValidation
MuonVertexValidation
src
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 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
#include <unordered_set>
11
#include <algorithm>
12
13
#include "
CxxUtils/fpcompare.h
"
14
#include "GaudiKernel/SystemOfUnits.h"
15
#include "
TruthUtils/HepMCHelpers.h
"
16
#include "
TruthUtils/MagicNumbers.h
"
17
#include "
FourMomUtils/xAODP4Helpers.h
"
18
#include "
GeoPrimitives/GeoPrimitives.h
"
19
20
#include "
xAODTruth/TruthParticleContainer.h
"
21
#include "
xAODTruth/TruthVertexContainer.h
"
22
#include "
xAODTracking/VertexContainer.h
"
23
#include "
xAODTracking/TrackParticleContainer.h
"
24
#include "
xAODJet/JetContainer.h
"
25
26
#include <TLorentzVector.h>
27
28
29
namespace
MSVtxValidationAlgUtils
{
30
31
// particle properties
32
double
getCTau
(
const
xAOD::TruthVertex
*decVtx);
33
// 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
34
double
getCalEnergyLogRatio
(
double
EMF);
35
bool
comparePt
(
const
xAOD::TruthParticle
* part1,
const
xAOD::TruthParticle
* part2);
36
37
// decay chain utils
38
std::vector<const xAOD::TruthParticle*>
getChildren
(
const
xAOD::TruthParticle
* mother);
39
std::vector<const xAOD::TruthParticle*>
getStableChildren
(
const
xAOD::TruthParticle
* particle,
bool
findOnlyGenStable);
40
std::vector<const xAOD::TruthParticle*>
getStableChildrenRecursive
(
const
xAOD::TruthParticle
* particle,
bool
findOnlyGenStable, std::unordered_set<const xAOD::TruthParticle*>& visited);
41
std::vector<const xAOD::TruthParticle*>
getDecayProducts
(
const
xAOD::TruthVertex
* vtx);
42
43
// active vertices associated with jets
44
struct
ActiveVertex
{
45
const
xAOD::TruthVertex
*
vtx
{
nullptr
};
46
// from the four vector such of the direct decay products of the vertex
47
Double_t
vtxEnergy
{0.};
48
Double_t
vtxMass
{0.};
49
Double_t
vtxPt
{0.};
50
Double_t
vtxScalarPtSum
{0.};
// scalar pT sum of the direct decay products
51
// decay chain properties
52
size_t
nChildren
{0};
53
size_t
decayDepth
{0};
54
};
55
56
std::vector<ActiveVertex>
getActiveVertices
(
const
xAOD::Jet
*
jet
,
const
xAOD::TruthParticleContainer
& truthParticles);
57
58
// vertex isolation
59
struct
VtxIso
{
60
double
track_mindR
{-1.};
61
double
track_pTsum
{-1.};
62
double
jet_mindR
{-1.};
63
};
64
65
VtxIso
getIso
(
const
xAOD::Vertex
*MSVtx,
const
xAOD::TrackParticleContainer
& Tracks,
const
xAOD::JetContainer
&
Jets
,
66
double
trackIso_pT,
double
softTrackIso_R,
double
jetIso_pT,
double
jetIso_LogRatio);
67
}
68
69
#endif
// MSVTXVALIDATIONALGUTILS_H
TrackParticleContainer.h
TruthParticleContainer.h
GeoPrimitives.h
HepMCHelpers.h
ATLAS-specific HepMC functions.
JetContainer.h
MagicNumbers.h
TruthVertexContainer.h
VertexContainer.h
fpcompare.h
Workaround x86 precision issues for FP inequality comparisons.
Jets
Definition
Jets.py:1
MSVtxValidationAlgUtils
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.cxx:8
MSVtxValidationAlgUtils::getDecayProducts
std::vector< const xAOD::TruthParticle * > getDecayProducts(const xAOD::TruthVertex *vtx)
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.cxx:91
MSVtxValidationAlgUtils::getStableChildren
std::vector< const xAOD::TruthParticle * > getStableChildren(const xAOD::TruthParticle *particle, bool findOnlyGenStable)
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.cxx:83
MSVtxValidationAlgUtils::getCTau
double getCTau(const xAOD::TruthVertex *decVtx)
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.cxx:10
MSVtxValidationAlgUtils::getChildren
std::vector< const xAOD::TruthParticle * > getChildren(const xAOD::TruthParticle *mother)
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.cxx:38
MSVtxValidationAlgUtils::getStableChildrenRecursive
std::vector< const xAOD::TruthParticle * > getStableChildrenRecursive(const xAOD::TruthParticle *particle, bool findOnlyGenStable, std::unordered_set< const xAOD::TruthParticle * > &visited)
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.cxx:54
MSVtxValidationAlgUtils::getIso
VtxIso getIso(const xAOD::Vertex *vtx, 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:153
MSVtxValidationAlgUtils::getActiveVertices
std::vector< ActiveVertex > getActiveVertices(const xAOD::Jet *jet, const xAOD::TruthParticleContainer &truthParticles)
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.cxx:107
MSVtxValidationAlgUtils::getCalEnergyLogRatio
double getCalEnergyLogRatio(double EMF)
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.cxx:16
MSVtxValidationAlgUtils::comparePt
bool comparePt(const xAOD::TruthParticle *part1, const xAOD::TruthParticle *part2)
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.cxx:33
jet
Definition
JetCalibTools_PlotJESFactors.cxx:23
xAOD::Jet
Jet_v1 Jet
Definition of the current "jet version".
Definition
Event/xAOD/xAODJet/xAODJet/Jet.h:17
xAOD::TruthVertex
TruthVertex_v1 TruthVertex
Typedef to implementation.
Definition
TruthVertex.h:15
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition
Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
xAOD::TruthParticle
TruthParticle_v1 TruthParticle
Typedef to implementation.
Definition
Event/xAOD/xAODTruth/xAODTruth/TruthParticle.h:15
xAOD::TrackParticleContainer
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticleContainer.h:14
xAOD::JetContainer
JetContainer_v1 JetContainer
Definition of the current "jet container version".
Definition
JetContainer.h:17
xAOD::TruthParticleContainer
TruthParticleContainer_v1 TruthParticleContainer
Declare the latest version of the truth particle container.
Definition
Event/xAOD/xAODTruth/xAODTruth/TruthParticleContainer.h:17
MSVtxValidationAlgUtils::ActiveVertex
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.h:44
MSVtxValidationAlgUtils::ActiveVertex::vtxPt
Double_t vtxPt
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.h:49
MSVtxValidationAlgUtils::ActiveVertex::nChildren
size_t nChildren
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.h:52
MSVtxValidationAlgUtils::ActiveVertex::vtxEnergy
Double_t vtxEnergy
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.h:47
MSVtxValidationAlgUtils::ActiveVertex::decayDepth
size_t decayDepth
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.h:53
MSVtxValidationAlgUtils::ActiveVertex::vtx
const xAOD::TruthVertex * vtx
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.h:45
MSVtxValidationAlgUtils::ActiveVertex::vtxMass
Double_t vtxMass
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.h:48
MSVtxValidationAlgUtils::ActiveVertex::vtxScalarPtSum
Double_t vtxScalarPtSum
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.h:50
MSVtxValidationAlgUtils::VtxIso
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.h:59
MSVtxValidationAlgUtils::VtxIso::track_mindR
double track_mindR
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.h:60
MSVtxValidationAlgUtils::VtxIso::jet_mindR
double jet_mindR
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.h:62
MSVtxValidationAlgUtils::VtxIso::track_pTsum
double track_pTsum
Definition
MuonSpectrometer/MuonValidation/MuonVertexValidation/src/Utils.h:61
xAODP4Helpers.h
Generated on
for ATLAS Offline Software by
1.17.0