ATLAS Offline Software
JetSums.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef JETREC_JETSUMS_H
6 #define JETREC_JETSUMS_H
7 /*****************************************************************************
8 Filename : JetSums.h
9 Author : Frank Paige
10 Created : Sep, 2002
11 
12 DESCRIPTION:
13 
14  This class holds the jet kinematics plus the partial sums of cell
15 energies in layers and E/volume ranges, information needed for an
16 H1-style energy/volume calibration:
17 
18  eEMBCell(ireg) EM barrel, all energies
19  ireg=0 presampler
20  ireg=1 strips
21  eEMBCell(ireg,ie) EM barrel, binned in energy
22  ireg=0 eta<0.8
23  ireg=1 eta>0.8
24 
25  eEMECell(ireg) EM endcap, all energies
26  ireg=0 presampler
27  ireg=1 strips
28  eEMECell(ireg,ie) EM endcap, binned in energy
29  ireg=0 eta<2.5
30  ireg=1 eta>2.5
31 
32  eTileCell(ireg,ie) Tile, binned in energy
33  ireg=0 barrel
34  ireg=1 extended barrel
35 
36  eHecCell(ireg,ie) HEC, binned in energy
37  ireg=0 eta<2.5
38  ireg=1 eta>2.5
39 
40  eFCalCell(ireg,ie) FCAL, binned in energy
41  ireg=0 EM section
42  ireg=1 Had sections
43 
44  eCryo Cryo correction for cluster
45  eGap Gap E for cluster
46  eNull Cells with zero volume
47 
48 The energy index ie is given by
49  ie = log(abs((E/MeV)/(V/mm^3)))/log(2) + 26, 0<=i<16
50 The region index is not very intuitive but lets us change the regions
51 easily.
52 
53 June 2004: Modified from CombinedJetSums to use Jet and new Navigation.
54 We cannot save the parent Jet* because the JetCollection gets copied by
55 JetAlgorithm. Hence just save the kinematics. Thanks, Hong.
56 
57 *****************************************************************************/
58 
59 class JetSums
60 {
61  public:
62 
63  // Constructor/destructor
64  JetSums(double e, double et, double eta, double phi, double m);
65  ~JetSums() = default;
66 
67  // Access functions
68  double jetE() const { return m_jetE; }
69  double jetEt() const { return m_jetEt; }
70  double jetEta() const { return m_jetEta; }
71  double jetPhi() const { return m_jetPhi; }
72  double jetM() const { return m_jetM; }
73 
74  double eEMBCell(const int ireg) const { return m_eEMB0Cell[ireg]; }
75  double eEMBCell(const int ireg, const int ie) const {
76  return m_eEMB1Cell[ireg][ie]; }
77  double eEMECell(const int ireg) const { return m_eEME0Cell[ireg]; }
78  double eEMECell(const int ireg, const int ie) const {
79  return m_eEME1Cell[ireg][ie]; }
80  double eTileCell(const int ireg, const int ie) const {
81  return m_eTileCell[ireg][ie]; }
82  double eHecCell(const int ireg, const int ie) const {
83  return m_eHecCell[ireg][ie]; }
84  double eFCalCell(const int ireg, const int ie) const {
85  return m_eFCalCell[ireg][ie]; }
86  double eCryo() const { return m_eCryo; }
87  double eGap() const { return m_eGap; }
88  double eNull() const { return m_eNull; }
89 
90  // Set functions
91  void set_eEMBCell(const int ireg, double e) { m_eEMB0Cell[ireg] = e; }
92  void set_eEMBCell(const int ireg, const int ie, double e) {
93  m_eEMB1Cell[ireg][ie] = e; }
94  void set_eEMECell(const int ireg, double e) { m_eEME0Cell[ireg] = e; }
95  void set_eEMECell(const int ireg, const int ie, double e) {
96  m_eEME1Cell[ireg][ie] = e; }
97  void set_eTileCell(const int ireg, const int ie, double e) {
98  m_eTileCell[ireg][ie] = e; }
99  void set_eHecCell(const int ireg, const int ie, double e) {
100  m_eHecCell[ireg][ie] = e; }
101  void set_eFCalCell(const int ireg, const int ie, double e) {
102  m_eFCalCell[ireg][ie] = e; }
103  void set_eCryo(double e) { m_eCryo = e; }
104  void set_eGap(double e) { m_eGap = e; }
105  void set_eNull(double e) { m_eNull = e; }
106 
107  private:
108 
109  // Jet Kinematics
110  double m_jetE;
111  double m_jetEt;
112  double m_jetEta;
113  double m_jetPhi;
114  double m_jetM;
115 
116  // Cell information
117  static const int m_dim = 20;
118  double m_eEMB0Cell[2];
119  double m_eEMB1Cell[2][m_dim];
120  double m_eEME0Cell[2];
121  double m_eEME1Cell[2][m_dim];
122  double m_eTileCell[2][m_dim];
123  double m_eHecCell[2][m_dim];
124  double m_eFCalCell[2][m_dim];
125  double m_eCryo;
126  double m_eGap;
127  double m_eNull;
128 
129 };
130 #endif //JETREC_COMBINEDJET_H
131 
JetSums::m_jetEta
double m_jetEta
Definition: JetSums.h:162
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
JetSums::set_eNull
void set_eNull(double e)
Definition: JetSums.h:155
JetSums::m_eEMB1Cell
double m_eEMB1Cell[2][m_dim]
Definition: JetSums.h:169
JetSums::m_eTileCell
double m_eTileCell[2][m_dim]
Definition: JetSums.h:172
JetSums::eEMBCell
double eEMBCell(const int ireg) const
Definition: JetSums.h:124
et
Extra patterns decribing particle interation process.
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
JetSums::set_eEMBCell
void set_eEMBCell(const int ireg, double e)
Definition: JetSums.h:141
JetSums::set_eCryo
void set_eCryo(double e)
Definition: JetSums.h:153
JetSums::m_eHecCell
double m_eHecCell[2][m_dim]
Definition: JetSums.h:173
JetSums::jetPhi
double jetPhi() const
Definition: JetSums.h:121
JetSums::m_jetPhi
double m_jetPhi
Definition: JetSums.h:163
JetSums::set_eHecCell
void set_eHecCell(const int ireg, const int ie, double e)
Definition: JetSums.h:149
JetSums::eCryo
double eCryo() const
Definition: JetSums.h:136
JetSums::eNull
double eNull() const
Definition: JetSums.h:138
JetSums::eTileCell
double eTileCell(const int ireg, const int ie) const
Definition: JetSums.h:130
JetSums::set_eTileCell
void set_eTileCell(const int ireg, const int ie, double e)
Definition: JetSums.h:147
JetSums::jetEta
double jetEta() const
Definition: JetSums.h:120
JetSums
Definition: JetSums.h:60
PlotCalibFromCool.ie
ie
Definition: PlotCalibFromCool.py:420
JetSums::~JetSums
~JetSums()=default
JetSums::jetM
double jetM() const
Definition: JetSums.h:122
JetSums::set_eGap
void set_eGap(double e)
Definition: JetSums.h:154
JetSums::m_eEMB0Cell
double m_eEMB0Cell[2]
Definition: JetSums.h:168
JetSums::jetE
double jetE() const
Definition: JetSums.h:118
JetSums::set_eEMECell
void set_eEMECell(const int ireg, double e)
Definition: JetSums.h:144
JetSums::set_eFCalCell
void set_eFCalCell(const int ireg, const int ie, double e)
Definition: JetSums.h:151
JetSums::eGap
double eGap() const
Definition: JetSums.h:137
JetSums::m_eEME0Cell
double m_eEME0Cell[2]
Definition: JetSums.h:170
JetSums::eEMECell
double eEMECell(const int ireg) const
Definition: JetSums.h:127
JetSums::m_eNull
double m_eNull
Definition: JetSums.h:177
JetSums::m_eFCalCell
double m_eFCalCell[2][m_dim]
Definition: JetSums.h:174
JetSums::jetEt
double jetEt() const
Definition: JetSums.h:119
JetSums::m_eCryo
double m_eCryo
Definition: JetSums.h:175
JetSums::m_eGap
double m_eGap
Definition: JetSums.h:176
JetSums::m_eEME1Cell
double m_eEME1Cell[2][m_dim]
Definition: JetSums.h:171
JetSums::JetSums
JetSums(double e, double et, double eta, double phi, double m)
Definition: JetSums.cxx:19
JetSums::eHecCell
double eHecCell(const int ireg, const int ie) const
Definition: JetSums.h:132
JetSums::m_jetEt
double m_jetEt
Definition: JetSums.h:161
JetSums::eFCalCell
double eFCalCell(const int ireg, const int ie) const
Definition: JetSums.h:134
JetSums::m_dim
static const int m_dim
Definition: JetSums.h:167
JetSums::m_jetE
double m_jetE
Definition: JetSums.h:160
JetSums::m_jetM
double m_jetM
Definition: JetSums.h:164