ATLAS Offline Software
Loading...
Searching...
No Matches
jFEXDBCondData.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4//***************************************************************************
5// Interface for jFEXDBCondData - Tool to read the COOL DB for jFEX
6// -------------------
7// begin : 01 08 2023
8// email : Sergi.Rodriguez@cern.ch
9//***************************************************************************
10
11#ifndef jFEXDBCondData_H
12#define jFEXDBCondData_H
13
16#include <unordered_map>
17
18namespace LVL1 {
19
21{
22
23 public:
24 /* Main constructor */
26 /* Main desconstructor */
28
30 int get_jJCalibParam(int module, int range) const;
31 const std::vector<int> & get_jJCalibParams(int module) const;
32 bool get_doPileUpJet() const;
33 bool get_doPileUpMet() const;
34 int get_PUThrLowEm() const;
35 int get_PUThrHighEm() const;
36 int get_PUThrLowHadLar() const;
37 int get_PUThrHighHadLar() const;
38 int get_PUThrLowHadHecOverlap() const;
40 int get_PUThrLowHadTrex() const;
41 int get_PUThrHighHadTrex() const;
42 int get_PUThrLowFcal() const;
43 int get_PUThrHighFcal() const;
44 std::array<uint16_t,4> get_NoiseCuts(uint16_t onlineID) const;
45 std::array<uint16_t,4> get_PileUpValues(uint16_t onlineID) const;
46
48 void set_jJCalibParam(const std::vector<std::vector<int>>& params);
49 void set_doPileUpJet(bool PileUpCorrectionJet);
50 void set_doPileUpMet(bool PileUpCorrectionMET);
51 void set_PUThrLowEm(int PileUpThresholdLowEm);
52 void set_PUThrHighEm(int PileUpThresholdHighEm);
53 void set_PUThrLowHadLar(int PileUpThresholdLowHadLar);
54 void set_PUThrHighHadLar(int PileUpThresholdHighHadLar);
55 void set_PUThrLowHadHecOverlap(int PileUpThresholdLowHadHecOverlap);
56 void set_PUThrHighHadHecOverlap(int PileUpThresholdHighHadHecOverlap);
57 void set_PUThrLowHadTrex(int PileUpThresholdLowHadTrex);
58 void set_PUThrHighHadTrex(int PileUpThresholdHighHadTrex);
59 void set_PUThrLowFcal(int PileUpThresholdLowFcal);
60 void set_PUThrHighFcal(int PileUpThresholdHighFcal);
61 void set_NoiseCuts(const std::unordered_map< uint16_t, std::array<uint16_t,4> >& NoiseCuts);
62 void set_PileUpValues(const std::unordered_map< uint16_t, std::array<uint16_t,4> >& PileUpWeight);
63 void set_sendDefaults(bool sendDefaults);
64
65
66 private:
67
68 bool m_sendDefaults = true;
69
70 // Values for jJ Calibration
71 std::vector<std::vector<int>> m_jJCalibParams =
72 { //for ET based calibration : <20 <30 <40 <50 <65 <80 <110 <150 <inf GeV (9 bins)
73 //for eta based calibration: based on per-FPGA local eta indices (up to 25 bins)
74 std::vector<int>(25,0),// jFEX 0 FCal
75 std::vector<int>(25,0),// jFEX 1 Central
76 std::vector<int>(25,0),// jFEX 2 Central
77 std::vector<int>(25,0),// jFEX 3 Central
78 std::vector<int>(25,0),// jFEX 4 Central
79 std::vector<int>(25,0) // jFEX 5 FCal
80 };
81
82 // Apply pileup on met or jet?
85
86 // upper/lower thresholds to calculate pile-up
97
98 // Noise values for EM and HAD
99 // the map contains: key: OnlineID and the array contains {CutJetEM, CutJetHad, CutMetEM, CutMetHad} in that order!
100 std::unordered_map< uint16_t, std::array<uint16_t,4> > m_NoiseCuts;
101 std::array<uint16_t,4> m_NoiseCuts_default= {0,0,0,0};
102
103 // PileUp values for EM and HAD
104 // the map contains: key: OnlineID and the array contains {CutJetEM, CutJetHad, CutMetEM, CutMetHad} in that order!
105 std::unordered_map< uint16_t, std::array<uint16_t,4> > m_PileUpWeight;
106 std::array<uint16_t,4> m_PileUpWeight_default= {0,0,0,0};
107
108 std::array<int,2> DecodeOnlineID(uint16_t onlineID) const;
109
110};
111
112
113
114}//end of namespace
115
116CLASS_DEF ( LVL1::jFEXDBCondData , 264634186 , 1 )
117CONDCONT_DEF( LVL1::jFEXDBCondData , 39175606 );
118
119#endif
Hold mappings of ranges to condition objects.
#define CONDCONT_DEF(...)
Definition CondCont.h:1413
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
int get_PUThrHighHadHecOverlap() const
void set_PUThrHighHadLar(int PileUpThresholdHighHadLar)
void set_jJCalibParam(const std::vector< std::vector< int > > &params)
Setters.
std::array< int, 2 > DecodeOnlineID(uint16_t onlineID) const
void set_PUThrLowHadLar(int PileUpThresholdLowHadLar)
void set_PUThrHighEm(int PileUpThresholdHighEm)
std::array< uint16_t, 4 > m_PileUpWeight_default
void set_NoiseCuts(const std::unordered_map< uint16_t, std::array< uint16_t, 4 > > &NoiseCuts)
std::unordered_map< uint16_t, std::array< uint16_t, 4 > > m_PileUpWeight
void set_PUThrLowHadHecOverlap(int PileUpThresholdLowHadHecOverlap)
void set_sendDefaults(bool sendDefaults)
int get_PUThrHighFcal() const
int get_PUThrHighHadTrex() const
std::array< uint16_t, 4 > m_NoiseCuts_default
const std::vector< int > & get_jJCalibParams(int module) const
void set_PUThrHighHadTrex(int PileUpThresholdHighHadTrex)
void set_PUThrLowFcal(int PileUpThresholdLowFcal)
void set_PUThrHighFcal(int PileUpThresholdHighFcal)
void set_PUThrLowHadTrex(int PileUpThresholdLowHadTrex)
bool get_doPileUpJet() const
std::vector< std::vector< int > > m_jJCalibParams
int get_jJCalibParam(int module, int range) const
Getters.
void set_doPileUpMet(bool PileUpCorrectionMET)
std::array< uint16_t, 4 > get_NoiseCuts(uint16_t onlineID) const
std::unordered_map< uint16_t, std::array< uint16_t, 4 > > m_NoiseCuts
int get_PUThrHighHadLar() const
void set_PUThrHighHadHecOverlap(int PileUpThresholdHighHadHecOverlap)
bool get_doPileUpMet() const
int get_PUThrLowHadHecOverlap() const
void set_doPileUpJet(bool PileUpCorrectionJet)
void set_PUThrLowEm(int PileUpThresholdLowEm)
int get_PUThrLowHadTrex() const
int get_PUThrLowHadLar() const
std::array< uint16_t, 4 > get_PileUpValues(uint16_t onlineID) const
void set_PileUpValues(const std::unordered_map< uint16_t, std::array< uint16_t, 4 > > &PileUpWeight)
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...