ATLAS Offline Software
Loading...
Searching...
No Matches
TCS::KFLUT Class Reference

#include <KFLUT.h>

Collaboration diagram for TCS::KFLUT:

Public Member Functions

 KFLUT ()
 ~KFLUT ()
int getetabin (double eta)
int getetbin (unsigned int et)
double getcorrKF (int i, int j)

Private Member Functions

void fillLUT ()

Private Attributes

std::vector< unsigned int > etlimits
std::vector< double > etalimits
std::vector< std::vector< double > > LUTKF

Detailed Description

Definition at line 19 of file KFLUT.h.

Constructor & Destructor Documentation

◆ KFLUT()

TCS::KFLUT::KFLUT ( )

Definition at line 15 of file KFLUT.cxx.

15 {
16
17 fillLUT();
18}
void fillLUT()
Definition KFLUT.cxx:69

◆ ~KFLUT()

TCS::KFLUT::~KFLUT ( )

Definition at line 20 of file KFLUT.cxx.

20 {
21
22}

Member Function Documentation

◆ fillLUT()

void TCS::KFLUT::fillLUT ( )
private

Definition at line 69 of file KFLUT.cxx.

69 {
70
71 etalimits = {-0.10,0.10,0.30,0.50,0.70,0.90,1.10,1.30,1.50,1.70,1.90,2.10,2.33,2.55,2.80,3.42};
72 etlimits = {8,16,32,64,128,1024};
73
74 LUTKF.push_back({0.14,0.12,0.12,0.17,0.26,0.3,0.3,0.42,0.38,0.19,0.16,0.15,0.52,0.59,0.62,0.33});
75 LUTKF.push_back({0.19,0.17,0.18,0.2,0.27,0.3,0.3,0.43,0.36,0.19,0.16,0.14,0.33,0.35,0.38,0.28});
76 LUTKF.push_back({0.13,0.11,0.11,0.13,0.17,0.19,0.18,0.28,0.21,0.11,0.09,0.08,0.12,0.09,0.12,0.17});
77 LUTKF.push_back({-0.01,-0.02,-0.02,-0.01,0.02,0.03,0.03,0.12,0.04,-0.04,-0.05,-0.06,-0.03,-0.06,-0.03,0.05});
78 LUTKF.push_back({-0.12,-0.12,-0.12,-0.11,-0.08,-0.07,-0.08,-0.01,-0.08,-0.14,-0.14,-0.15,-0.13,-0.15,-0.12,-0.04});
79
80 //Correction for rounding when 7 decimal bit applied
81 for (auto &vet : LUTKF){
82 for (auto &veta : vet){
83 veta = std::round(veta*std::pow(2,7))/std::pow(2,7);
84 }
85 }
86}
std::vector< double > etalimits
Definition KFLUT.h:36
std::vector< std::vector< double > > LUTKF
Definition KFLUT.h:38
std::vector< unsigned int > etlimits
Definition KFLUT.h:35

◆ getcorrKF()

double TCS::KFLUT::getcorrKF ( int i,
int j )

Definition at line 62 of file KFLUT.cxx.

62 {
63
64 return LUTKF.at(iet).at(jeta);
65
66
67}

◆ getetabin()

int TCS::KFLUT::getetabin ( double eta)

Definition at line 25 of file KFLUT.cxx.

25 {
26
27 int bin = 0;
28 if (eta >= etalimits.back()) return (etalimits.size()-1);
29 if (eta < etalimits[0]) return 0;
30
31 int sizelim = etalimits.size() - 1 ;
32 for (int j=0;j< sizelim ;j++) {
33 if (abs(eta) >= etalimits[j] && abs(eta) < etalimits[j+1]) {
34 bin = j;
35 }
36 }
37
38 return bin;
39
40
41}
Scalar eta() const
pseudorapidity method

◆ getetbin()

int TCS::KFLUT::getetbin ( unsigned int et)

Definition at line 44 of file KFLUT.cxx.

44 {
45
46 int binet = 0;
47 if (et >= etlimits.back()) return (etlimits.size()-1);
48 if (et < etlimits[0]) return 0;
49
50 int sizelimet = etlimits.size() - 1 ;
51 for (int i=0;i< sizelimet ;i++) {
52 if (et >= etlimits[i] && et < etlimits[i+1]) {
53 binet = i;
54 }
55 }
56 return binet;
57
58
59}
float et(const xAOD::jFexSRJetRoI *j)

Member Data Documentation

◆ etalimits

std::vector<double> TCS::KFLUT::etalimits
private

Definition at line 36 of file KFLUT.h.

◆ etlimits

std::vector<unsigned int> TCS::KFLUT::etlimits
private

Definition at line 35 of file KFLUT.h.

◆ LUTKF

std::vector<std::vector<double> > TCS::KFLUT::LUTKF
private

Definition at line 38 of file KFLUT.h.


The documentation for this class was generated from the following files: