ATLAS Offline Software
Loading...
Searching...
No Matches
MuonsLoader.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
4 This is a subclass of IConstituentsLoader. It is used to load the general Muons from the vertex
5 and extract their features for the NN evaluation.
6*/
7
8#ifndef INDET_MUONS_LOADER_H
9#define INDET_MUONS_LOADER_H
10
11// local includes
14
15// EDM includes
17#include "xAODMuon/Muon.h"
19#include "xAODBase/IParticle.h"
20
21// STL includes
22#include <string>
23#include <vector>
24#include <functional>
25#include <exception>
26#include <type_traits>
27#include <regex>
28
30
31 // Subclass for Muons loader inherited from abstract IConstituentsLoader class
33 public:
35 std::tuple<std::string, FlavorTagInference::Inputs, std::vector<const xAOD::IParticle*>> getData(
36 const xAOD::Vertex& vertex) const override ;
37 std::string getName() const override;
38 ConstituentsType getType() const override;
39 protected:
40 // typedefs
42 typedef std::pair<std::string, double> NamedVar;
43 typedef std::pair<std::string, std::vector<double> > NamedSeq;
44 // iparticle typedefs
45 typedef std::vector<const xAOD::Muon*> Muons;
46 typedef std::vector<const xAOD::IParticle*> Particles;
47 typedef std::function<double(const xAOD::Muon*,
49
50 // usings for Muon getter
53 using PartLinks = std::vector<ElementLink<IPC>>;
54 using IPV = std::vector<const xAOD::Muon*>;
55
57
58 std::vector<const xAOD::Muon*> getMuonsFromVertex(const xAOD::Vertex& vertex) const;
59
62 std::function<IPV(const Vertex&)> m_associator;
63 };
64}
65
66#endif
std::vector< const xAOD::Muon * > IPV
Definition MuonsLoader.h:54
std::function< double(const xAOD::Muon *, const Vertex &)> MuonSortVar
Definition MuonsLoader.h:48
std::vector< ElementLink< IPC > > PartLinks
Definition MuonsLoader.h:53
std::vector< const xAOD::Muon * > getMuonsFromVertex(const xAOD::Vertex &vertex) const
ConstituentsType getType() const override
getter_utils::CustomSequenceGetter< xAOD::Muon > m_customSequenceGetter
Definition MuonsLoader.h:61
static MuonSortVar iparticleSortVar(ConstituentsSortOrder)
std::tuple< std::string, FlavorTagInference::Inputs, std::vector< const xAOD::IParticle * > > getData(const xAOD::Vertex &vertex) const override
std::vector< const xAOD::IParticle * > Particles
Definition MuonsLoader.h:46
std::function< IPV(const Vertex &)> m_associator
Definition MuonsLoader.h:62
std::pair< std::string, std::vector< double > > NamedSeq
Definition MuonsLoader.h:43
std::string getName() const override
MuonsLoader(const ConstituentsInputConfig &cfg)
std::pair< std::string, double > NamedVar
Definition MuonsLoader.h:42
Base class for elements of a container that can have aux data.
Definition AuxElement.h:483
Definition Muons.py:1
Vertex_v1 Vertex
Define the latest version of the vertex class.
Muon_v1 Muon
Reference the current persistent version:
MuonContainer_v1 MuonContainer
Definition of the current "Muon container version".