Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
HitsLoader.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 IParticles from the jet
5  and extract their features for the NN evaluation. For now it supports only neutral flow objects.
6  Charged flow objects have experimental support and are not recommended for use.
7 */
8 
9 #ifndef HITS_LOADER_H
10 #define HITS_LOADER_H
11 
12 // local includes
15 
16 // EDM includes
17 #include "xAODJet/JetFwd.h"
18 #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 
29 namespace FlavorTagInference {
30 
31  using namespace FlavorTagInference;
32 
34  std::pair<std::string, std::vector<std::string>> hits_names
35  );
36  // Subclass for Hits loader inherited from abstract IConstituentsLoader class
38  public:
40  std::tuple<std::string, Inputs, std::vector<const xAOD::IParticle*>> getData(
41  const xAOD::Jet& jet,
42  [[maybe_unused]] const SG::AuxElement& btag) const override ;
43  const FTagDataDependencyNames& getDependencies() const override;
44  const std::set<std::string>& getUsedRemap() const override;
45  const std::string& getName() const override;
46  const ConstituentsType& getType() const override;
47  protected:
48  // typedefs
49  typedef xAOD::Jet Jet;
50  typedef std::pair<std::string, double> NamedVar;
51  typedef std::pair<std::string, std::vector<double> > NamedSeq;
52  // hit typedefs
53  typedef std::vector<const xAOD::TrackMeasurementValidation*> Hits;
54 
55  // getter function
56  typedef std::function<NamedSeq(const Jet&, const Hits&)> SeqFromHits;
57 
58  // usings for Hits getter
59  using AE = SG::AuxElement;
61  using HitLinks = std::vector<ElementLink<TMC>>;
62  using TMVV = std::vector<const xAOD::TrackMeasurementValidation*>;
63 
64 
65  std::vector<const xAOD::TrackMeasurementValidation*> getHitsFromJet(const xAOD::Jet& jet) const;
66 
68  std::function<TMVV(const Jet&)> m_associator;
69  };
70 }
71 
72 #endif
ConstituentsLoader.h
xAOD::TrackMeasurementValidationContainer
TrackMeasurementValidationContainer_v1 TrackMeasurementValidationContainer
Definition of the current "TrackMeasurementValidation container version".
Definition: TrackMeasurementValidationContainer.h:14
FlavorTagInference::HitsLoader::TMVV
std::vector< const xAOD::TrackMeasurementValidation * > TMVV
Definition: HitsLoader.h:62
FlavorTagInference::IConstituentsLoader
Definition: PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/ConstituentsLoader.h:77
FlavorTagInference
This file contains "getter" functions used for accessing tagger inputs from the EDM.
Definition: AssociationEnums.h:11
IParticle.h
SG::AuxElement
Base class for elements of a container that can have aux data.
Definition: AuxElement.h:483
FlavorTagInference::getter_utils::SeqGetter
Template class to extract features from sequence of constituents.
Definition: PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/CustomGetterUtils.h:69
FlavorTagInference::HitsLoader::getUsedRemap
const std::set< std::string > & getUsedRemap() const override
Definition: HitsLoader.cxx:58
FlavorTagInference::FTagOptions
Definition: PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/DataPrepUtilities.h:45
FlavorTagInference::HitsLoader::SeqFromHits
std::function< NamedSeq(const Jet &, const Hits &)> SeqFromHits
Definition: HitsLoader.h:56
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
FlavorTagInference::HitsLoader::HitsLoader
HitsLoader(const ConstituentsInputConfig &, const FTagOptions &options)
Definition: HitsLoader.cxx:12
FlavorTagInference::ConstituentsInputConfig
Definition: PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/ConstituentsLoader.h:61
FlavorTagInference::HitsLoader
Definition: HitsLoader.h:37
FlavorTagInference::FTagDataDependencyNames
Definition: FTagDataDependencyNames.h:12
FlavorTagInference::HitsLoader::Jet
xAOD::Jet Jet
Definition: HitsLoader.h:49
python.AtlRunQueryLib.options
options
Definition: AtlRunQueryLib.py:379
FlavorTagInference::HitsLoader::m_associator
std::function< TMVV(const Jet &)> m_associator
Definition: HitsLoader.h:68
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
FlavorTagInference::HitsLoader::m_seqGetter
getter_utils::SeqGetter< xAOD::TrackMeasurementValidation > m_seqGetter
Definition: HitsLoader.h:67
FlavorTagInference::ConstituentsType
ConstituentsType
Definition: PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/ConstituentsLoader.h:48
FlavorTagInference::HitsLoader::getType
const ConstituentsType & getType() const override
Definition: HitsLoader.cxx:64
FlavorTagInference::HitsLoader::NamedVar
std::pair< std::string, double > NamedVar
Definition: HitsLoader.h:50
FlavorTagInference::createHitsLoaderConfig
ConstituentsInputConfig createHitsLoaderConfig(std::pair< std::string, std::vector< std::string >> hits_names)
FlavorTagInference::HitsLoader::getData
std::tuple< std::string, Inputs, std::vector< const xAOD::IParticle * > > getData(const xAOD::Jet &jet, [[maybe_unused]] const SG::AuxElement &btag) const override
Definition: HitsLoader.cxx:47
JetFwd.h
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
FlavorTagInference::HitsLoader::getName
const std::string & getName() const override
Definition: HitsLoader.cxx:61
CustomGetterUtils.h
FlavorTagInference::HitsLoader::getHitsFromJet
std::vector< const xAOD::TrackMeasurementValidation * > getHitsFromJet(const xAOD::Jet &jet) const
Definition: HitsLoader.cxx:36
FlavorTagInference::HitsLoader::Hits
std::vector< const xAOD::TrackMeasurementValidation * > Hits
Definition: HitsLoader.h:53
FlavorTagInference::HitsLoader::getDependencies
const FTagDataDependencyNames & getDependencies() const override
Definition: HitsLoader.cxx:55
FlavorTagInference::HitsLoader::NamedSeq
std::pair< std::string, std::vector< double > > NamedSeq
Definition: HitsLoader.h:51
TrackMeasurementValidationContainer.h
FlavorTagInference::HitsLoader::HitLinks
std::vector< ElementLink< TMC > > HitLinks
Definition: HitsLoader.h:61