ATLAS Offline Software
Loading...
Searching...
No Matches
MuonSpectrometer
MuonValidation
MuonTesterTree
MuonTesterTree
TrackDetailBranches.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef MUONTESTERTREE_TRACKDETAILBRANCHES_H
5
#define MUONTESTERTREE_TRACKDETAILBRANCHES_H
6
#include <
MuonTesterTree/VectorBranch.h
>
7
#include <
MuonTesterTree/IParticleFourMomBranch.h
>
8
namespace
MuonVal
{
10
class
TrackChi2Branch
:
public
VectorBranch
<float>,
11
virtual
public
IParticleDecorationBranch
{
12
public
:
13
TrackChi2Branch
(
IParticleFourMomBranch
&
parent
);
14
15
using
VectorBranch
<
float
>
::push_back
;
16
void
push_back
(
const
xAOD::IParticle
* p)
override
;
17
void
push_back
(
const
xAOD::IParticle
& p)
override
;
18
void
operator+=
(
const
xAOD::IParticle
* p)
override
;
19
void
operator+=
(
const
xAOD::IParticle
& p)
override
;
20
21
private
:
22
std::shared_ptr<VectorBranch<unsigned int>>
m_nDoF
{
nullptr
};
23
};
24
29
class
EnergylossBranch
:
public
VectorBranch
<float>,
30
virtual
public
IParticleDecorationBranch
{
31
public
:
32
EnergylossBranch
(
IParticleFourMomBranch
&
parent
);
33
34
using
VectorBranch
<
float
>
::push_back
;
35
void
push_back
(
const
xAOD::IParticle
* p)
override
;
36
void
push_back
(
const
xAOD::IParticle
& p)
override
;
37
void
operator+=
(
const
xAOD::IParticle
* p)
override
;
38
void
operator+=
(
const
xAOD::IParticle
& p)
override
;
39
};
40
42
class
ScatteringBranch
:
public
MatrixBranch
<float>,
43
virtual
public
IParticleDecorationBranch
{
44
public
:
45
using
Base_t
=
MatrixBranch<float>
;
46
ScatteringBranch
(
IParticleFourMomBranch
&
parent
);
47
48
using
Base_t::push_back
;
49
void
push_back
(
const
xAOD::IParticle
* p)
override
;
50
void
push_back
(
const
xAOD::IParticle
& p)
override
;
51
void
operator+=
(
const
xAOD::IParticle
* p)
override
;
52
void
operator+=
(
const
xAOD::IParticle
& p)
override
;
53
54
private
:
55
std::shared_ptr<Base_t>
m_deltaTheta
{};
56
std::shared_ptr<Base_t>
m_sigmaPhi
{};
57
std::shared_ptr<Base_t>
m_sigmaTheta
{};
58
std::shared_ptr<VectorBranch<std::uint8_t>>
m_nScat
{};
59
60
};
61
62
}
63
#endif
IParticleFourMomBranch.h
VectorBranch.h
MuonVal::EnergylossBranch::operator+=
void operator+=(const xAOD::IParticle *p) override
Definition
TrackDetailBranches.cxx:48
MuonVal::EnergylossBranch::EnergylossBranch
EnergylossBranch(IParticleFourMomBranch &parent)
Definition
TrackDetailBranches.cxx:44
MuonVal::EnergylossBranch::push_back
void push_back(const xAOD::IParticle *p) override
Similar to the IAuxElementDecoration branch but only accepting IParticles.
Definition
TrackDetailBranches.cxx:51
MuonVal::IParticleDecorationBranch
Definition
IMuonTesterBranch.h:65
MuonVal::IParticleFourMomBranch
Helper class to easily to add xAOD::IParticles and associated decorator variables to the MuonTesterTr...
Definition
IParticleFourMomBranch.h:31
MuonVal::MatrixBranch< float >::MatrixBranch
MatrixBranch(TTree *tree, const std::string &name)
MuonVal::MatrixBranch< float >::push_back
void push_back(size_t i, const float &value)
MuonVal::VectorBranch< float >::parent
MuonTesterTree & parent()
Definition
MuonTesterBranch.cxx:38
MuonVal::ScatteringBranch::push_back
void push_back(const xAOD::IParticle *p) override
Similar to the IAuxElementDecoration branch but only accepting IParticles.
Definition
TrackDetailBranches.cxx:105
MuonVal::ScatteringBranch::m_nScat
std::shared_ptr< VectorBranch< std::uint8_t > > m_nScat
Definition
TrackDetailBranches.h:58
MuonVal::ScatteringBranch::m_sigmaTheta
std::shared_ptr< Base_t > m_sigmaTheta
Definition
TrackDetailBranches.h:57
MuonVal::ScatteringBranch::operator+=
void operator+=(const xAOD::IParticle *p) override
Definition
TrackDetailBranches.cxx:102
MuonVal::ScatteringBranch::ScatteringBranch
ScatteringBranch(IParticleFourMomBranch &parent)
Definition
TrackDetailBranches.cxx:86
MuonVal::ScatteringBranch::m_deltaTheta
std::shared_ptr< Base_t > m_deltaTheta
Definition
TrackDetailBranches.h:55
MuonVal::ScatteringBranch::m_sigmaPhi
std::shared_ptr< Base_t > m_sigmaPhi
Definition
TrackDetailBranches.h:56
MuonVal::ScatteringBranch::Base_t
MatrixBranch< float > Base_t
Definition
TrackDetailBranches.h:45
MuonVal::TrackChi2Branch::operator+=
void operator+=(const xAOD::IParticle *p) override
Definition
TrackDetailBranches.cxx:37
MuonVal::TrackChi2Branch::m_nDoF
std::shared_ptr< VectorBranch< unsigned int > > m_nDoF
Definition
TrackDetailBranches.h:22
MuonVal::TrackChi2Branch::push_back
void push_back(const xAOD::IParticle *p) override
Similar to the IAuxElementDecoration branch but only accepting IParticles.
Definition
TrackDetailBranches.cxx:23
MuonVal::TrackChi2Branch::TrackChi2Branch
TrackChi2Branch(IParticleFourMomBranch &parent)
Definition
TrackDetailBranches.cxx:16
MuonVal::VectorBranch< float >::VectorBranch
VectorBranch(TTree *tree, const std::string &name)
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
MuonVal
Class to store array like branches into the n-tuples.
Definition
HitValAlg.cxx:19
Generated on
for ATLAS Offline Software by
1.16.1