ATLAS Offline Software
Loading...
Searching...
No Matches
NNJvtBinning.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef JETMOMENTTOOLS_NNJVTBINNING_H
5#define JETMOMENTTOOLS_NNJVTBINNING_H
6
12
13#include <vector>
14#include <istream>
15#include <string>
16
17namespace xAOD {
18 class IParticle;
19}
20
21namespace JetPileupTag {
23 struct NNJvtBinning {
24 std::vector<float> ptEdges;
25 std::vector<float> etaEdges;
26
27 static NNJvtBinning fromJSON(std::istream &is);
28 std::string toJSON() const;
37 bool operator()(float pt, float eta, std::size_t &ptBin, std::size_t &etaBin) const;
45 bool
46 operator()(const xAOD::IParticle &particle, std::size_t &ptBin, std::size_t &etaBin) const;
47 };
48
50 struct NNJvtCutMap {
52 std::vector<std::vector<float>> cutMap;
53
54 static NNJvtCutMap fromJSON(std::istream &is);
55 std::string toJSON() const;
62 float operator()(float pt, float eta) const;
68 float operator()(const xAOD::IParticle &particle) const;
76 float operator()(std::size_t ptBin, std::size_t etaBin) const;
77 };
78} // namespace JetPileupTag
79
80#endif //> !JETMOMENTTOOLS_NNJVTBINNING_H
Scalar eta() const
pseudorapidity method
Class providing the definition of the 4-vector interface.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Helper struct to hold the bin edges for the NN Jvt cut maps.
std::vector< float > ptEdges
bool operator()(float pt, float eta, std::size_t &ptBin, std::size_t &etaBin) const
Get the correct bin for the provided pt/eta values.
std::vector< float > etaEdges
std::string toJSON() const
static NNJvtBinning fromJSON(std::istream &is)
The NNJvt cut maps.
std::string toJSON() const
static NNJvtCutMap fromJSON(std::istream &is)
float operator()(float pt, float eta) const
Get the correct cut value for the provided pt/eta.
std::vector< std::vector< float > > cutMap