ATLAS Offline Software
JetECS.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_JETECS_H
6 #define JETREC_JETECS_H
7 /*****************************************************************************
8 Filename : JetECS.h
9 Author : Iacopo Vivarelli
10 Created : Jul, 2004
11 
12 DESCRIPTION:
13 
14  This class holds a CombinedJet* 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 
60 class JetECS
61 {
62  public:
63 
64  // Constructor/destructor
65  JetECS(double e, double eta, double phi, double m);
66  ~JetECS() = default;
67 
68  // Access functions
69  double jetRawE() const { return m_jetRawE; }
70  double jetEta() const { return m_jetEta; }
71  double jetPhi() const { return m_jetPhi; }
72  double jetM() const { return m_jetM; }
73  double jetCalE() const { return m_jetCalE; }
74  double ePreSamBCell(const int ireg) const { return m_ePreSamBCell[ireg];}
75  double ePreSamECell(const int ireg) const { return m_ePreSamECell[ireg];}
76  double eEMB1Cell(const int ireg) const { return m_eEMB1Cell[ireg]; }
77  double eEMB2Cell(const int ireg) const { return m_eEMB2Cell[ireg]; }
78  double eEMB3Cell(const int ireg) const { return m_eEMB3Cell[ireg]; }
79  double eEME1Cell(const int ireg) const { return m_eEME1Cell[ireg]; }
80  double eEME2Cell(const int ireg) const { return m_eEME2Cell[ireg]; }
81  double eEME3Cell(const int ireg) const { return m_eEME3Cell[ireg]; }
82  double eTileBar0Cell(const int ireg) const { return m_eTileBar0Cell[ireg]; }
83  double eTileBar1Cell(const int ireg) const { return m_eTileBar1Cell[ireg]; }
84  double eTileBar2Cell(const int ireg) const { return m_eTileBar2Cell[ireg]; }
85  double eTileExt0Cell(const int ireg) const { return m_eTileExt0Cell[ireg]; }
86  double eTileExt1Cell(const int ireg) const { return m_eTileExt1Cell[ireg]; }
87  double eTileExt2Cell(const int ireg) const { return m_eTileExt2Cell[ireg]; }
88  double eHec0Cell(const int ireg) const { return m_eHec0Cell[ireg]; }
89  double eHec1Cell(const int ireg) const { return m_eHec1Cell[ireg]; }
90  double eHec2Cell(const int ireg) const { return m_eHec2Cell[ireg]; }
91  double eHec3Cell(const int ireg) const { return m_eHec3Cell[ireg]; }
92  double eFCal0Cell(const int ireg) const {return m_eFCal0Cell[ireg]; }
93  double eFCal1Cell(const int ireg) const {return m_eFCal1Cell[ireg]; }
94  double eFCal2Cell(const int ireg) const {return m_eFCal2Cell[ireg]; }
95  double eCryo() const { return m_eCryo; }
96  double eGap() const { return m_eGap; }
97  double eNull() const { return m_eNull; }
98 
99  // Set functions
100  void set_ePreSamBCell(const int ireg, double e) { m_ePreSamBCell[ireg] = e; }
101  void set_ePreSamECell(const int ireg, double e) { m_ePreSamECell[ireg] = e; }
102  void set_eEMB1Cell(const int ireg, double e) { m_eEMB1Cell[ireg] = e; }
103  void set_eEMB2Cell(const int ireg, double e) { m_eEMB2Cell[ireg] = e; }
104  void set_eEMB3Cell(const int ireg, double e) { m_eEMB3Cell[ireg] = e; }
105  void set_eEME1Cell(const int ireg, double e) { m_eEME1Cell[ireg] = e; }
106  void set_eEME2Cell(const int ireg, double e) { m_eEME2Cell[ireg] = e; }
107  void set_eEME3Cell(const int ireg, double e) { m_eEME3Cell[ireg] = e; }
108  void set_eTileBar0Cell(const int ireg, double e) { m_eTileBar0Cell[ireg]=e; }
109  void set_eTileBar1Cell(const int ireg, double e) { m_eTileBar1Cell[ireg]=e; }
110  void set_eTileBar2Cell(const int ireg, double e) { m_eTileBar2Cell[ireg]=e; }
111  void set_eTileExt0Cell(const int ireg, double e) { m_eTileExt0Cell[ireg]=e; }
112  void set_eTileExt1Cell(const int ireg, double e) { m_eTileExt1Cell[ireg]=e; }
113  void set_eTileExt2Cell(const int ireg, double e) { m_eTileExt2Cell[ireg]=e; }
114  void set_eHec0Cell(const int ireg, double e) { m_eHec0Cell[ireg] = e; }
115  void set_eHec1Cell(const int ireg, double e) { m_eHec1Cell[ireg] = e; }
116  void set_eHec2Cell(const int ireg, double e) { m_eHec2Cell[ireg] = e; }
117  void set_eHec3Cell(const int ireg, double e) { m_eHec3Cell[ireg] = e; }
118  void set_eFCal0Cell(const int ireg, double e) {m_eFCal0Cell[ireg] = e; }
119  void set_eFCal1Cell(const int ireg, double e) {m_eFCal1Cell[ireg] = e; }
120  void set_eFCal2Cell(const int ireg, double e) {m_eFCal2Cell[ireg] = e; }
121  void set_eCryo(double e) { m_eCryo = e; }
122  void set_eGap(double e) { m_eGap = e; }
123  void set_eNull(double e) { m_eNull = e; }
124  void set_e(double e) {m_jetRawE = e;}
126  private:
127 
128  // Jet Kinematics
129  double m_jetRawE;
130  double m_jetEta;
131  double m_jetPhi;
132  double m_jetM;
133  double m_jetCalE;
134 
135  // Cell information
136  static const int m_dim = 17;
148  double m_eTileExt0Cell[m_dim];
149  double m_eTileExt1Cell[m_dim];
158  double m_eCryo;
159  double m_eGap;
160  double m_eNull;
161 
162 };
163 #endif //JETREC_COMBINEDJET_H
164 
JetECS::set_eHec3Cell
void set_eHec3Cell(const int ireg, double e)
Definition: JetECS.h:167
JetECS::m_eEME2Cell
double m_eEME2Cell[m_dim]
Definition: JetECS.h:193
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
JetECS::set_eTileBar2Cell
void set_eTileBar2Cell(const int ireg, double e)
Definition: JetECS.h:160
JetECS::set_eCryo
void set_eCryo(double e)
Definition: JetECS.h:171
JetECS::m_eNull
double m_eNull
Definition: JetECS.h:210
JetECS::jetEta
double jetEta() const
Definition: JetECS.h:120
JetECS::set_eFCal2Cell
void set_eFCal2Cell(const int ireg, double e)
Definition: JetECS.h:170
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
JetECS::m_eEMB3Cell
double m_eEMB3Cell[m_dim]
Definition: JetECS.h:191
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
JetECS::jetCalE
double jetCalE() const
Definition: JetECS.h:123
JetECS::eHec1Cell
double eHec1Cell(const int ireg) const
Definition: JetECS.h:139
JetECS::set_eHec1Cell
void set_eHec1Cell(const int ireg, double e)
Definition: JetECS.h:165
JetECS::jetRawE
double jetRawE() const
Definition: JetECS.h:119
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
JetECS::set_eFCal0Cell
void set_eFCal0Cell(const int ireg, double e)
Definition: JetECS.h:168
JetECS::eEMB2Cell
double eEMB2Cell(const int ireg) const
Definition: JetECS.h:127
JetECS::m_jetCalE
double m_jetCalE
Definition: JetECS.h:183
JetECS::jetPhi
double jetPhi() const
Definition: JetECS.h:121
JetECS::set_eHec2Cell
void set_eHec2Cell(const int ireg, double e)
Definition: JetECS.h:166
JetECS::eCryo
double eCryo() const
Definition: JetECS.h:145
JetECS::set_ePreSamECell
void set_ePreSamECell(const int ireg, double e)
Definition: JetECS.h:151
JetECS::eNull
double eNull() const
Definition: JetECS.h:147
JetECS::m_jetRawE
double m_jetRawE
Definition: JetECS.h:179
JetECS::m_eEME1Cell
double m_eEME1Cell[m_dim]
Definition: JetECS.h:192
JetECS::set_eEMB1Cell
void set_eEMB1Cell(const int ireg, double e)
Definition: JetECS.h:152
JetECS::m_eFCal1Cell
double m_eFCal1Cell[m_dim]
Definition: JetECS.h:206
JetECS::set_ePreSamBCell
void set_ePreSamBCell(const int ireg, double e)
Definition: JetECS.h:150
JetECS::eEME1Cell
double eEME1Cell(const int ireg) const
Definition: JetECS.h:129
JetECS::eEMB3Cell
double eEMB3Cell(const int ireg) const
Definition: JetECS.h:128
JetECS::eTileBar0Cell
double eTileBar0Cell(const int ireg) const
Definition: JetECS.h:132
JetECS::eHec0Cell
double eHec0Cell(const int ireg) const
Definition: JetECS.h:138
JetECS::m_eHec0Cell
double m_eHec0Cell[m_dim]
Definition: JetECS.h:201
JetECS::m_eTileBar2Cell
double m_eTileBar2Cell[m_dim]
Definition: JetECS.h:197
JetECS::set_eFCal1Cell
void set_eFCal1Cell(const int ireg, double e)
Definition: JetECS.h:169
JetECS::set_CalibratedEnergy
void set_CalibratedEnergy(double e)
Definition: JetECS.h:175
JetECS::eTileExt0Cell
double eTileExt0Cell(const int ireg) const
Definition: JetECS.h:135
JetECS::m_eTileBar0Cell
double m_eTileBar0Cell[m_dim]
Definition: JetECS.h:195
JetECS::set_eTileExt1Cell
void set_eTileExt1Cell(const int ireg, double e)
Definition: JetECS.h:162
JetECS::set_eEME3Cell
void set_eEME3Cell(const int ireg, double e)
Definition: JetECS.h:157
JetECS::set_eEMB3Cell
void set_eEMB3Cell(const int ireg, double e)
Definition: JetECS.h:154
JetECS::set_eTileBar1Cell
void set_eTileBar1Cell(const int ireg, double e)
Definition: JetECS.h:159
JetECS::eHec3Cell
double eHec3Cell(const int ireg) const
Definition: JetECS.h:141
JetECS
Definition: JetECS.h:61
JetECS::eFCal2Cell
double eFCal2Cell(const int ireg) const
Definition: JetECS.h:144
JetECS::m_eEMB1Cell
double m_eEMB1Cell[m_dim]
Definition: JetECS.h:189
JetECS::m_eEME3Cell
double m_eEME3Cell[m_dim]
Definition: JetECS.h:194
JetECS::eEMB1Cell
double eEMB1Cell(const int ireg) const
Definition: JetECS.h:126
JetECS::eTileExt2Cell
double eTileExt2Cell(const int ireg) const
Definition: JetECS.h:137
JetECS::jetM
double jetM() const
Definition: JetECS.h:122
JetECS::set_eTileExt0Cell
void set_eTileExt0Cell(const int ireg, double e)
Definition: JetECS.h:161
JetECS::set_eHec0Cell
void set_eHec0Cell(const int ireg, double e)
Definition: JetECS.h:164
JetECS::eFCal1Cell
double eFCal1Cell(const int ireg) const
Definition: JetECS.h:143
JetECS::set_eNull
void set_eNull(double e)
Definition: JetECS.h:173
JetECS::eEME2Cell
double eEME2Cell(const int ireg) const
Definition: JetECS.h:130
JetECS::set_eGap
void set_eGap(double e)
Definition: JetECS.h:172
JetECS::m_eEMB2Cell
double m_eEMB2Cell[m_dim]
Definition: JetECS.h:190
JetECS::ePreSamECell
double ePreSamECell(const int ireg) const
Definition: JetECS.h:125
JetECS::m_eTileBar1Cell
double m_eTileBar1Cell[m_dim]
Definition: JetECS.h:196
JetECS::m_eHec2Cell
double m_eHec2Cell[m_dim]
Definition: JetECS.h:203
JetECS::eTileBar1Cell
double eTileBar1Cell(const int ireg) const
Definition: JetECS.h:133
JetECS::m_eHec1Cell
double m_eHec1Cell[m_dim]
Definition: JetECS.h:202
JetECS::eHec2Cell
double eHec2Cell(const int ireg) const
Definition: JetECS.h:140
JetECS::m_jetM
double m_jetM
Definition: JetECS.h:182
JetECS::~JetECS
~JetECS()=default
JetECS::JetECS
JetECS(double e, double eta, double phi, double m)
Definition: JetECS.cxx:19
JetECS::m_ePreSamBCell
double m_ePreSamBCell[m_dim]
Definition: JetECS.h:187
JetECS::m_eCryo
double m_eCryo
Definition: JetECS.h:208
JetECS::m_eTileExt2Cell
double m_eTileExt2Cell[m_dim]
Definition: JetECS.h:200
JetECS::m_ePreSamECell
double m_ePreSamECell[m_dim]
Definition: JetECS.h:188
JetECS::m_eFCal0Cell
double m_eFCal0Cell[m_dim]
Definition: JetECS.h:205
JetECS::m_jetEta
double m_jetEta
Definition: JetECS.h:180
JetECS::eTileExt1Cell
double eTileExt1Cell(const int ireg) const
Definition: JetECS.h:136
JetECS::set_eEME2Cell
void set_eEME2Cell(const int ireg, double e)
Definition: JetECS.h:156
JetECS::m_eHec3Cell
double m_eHec3Cell[m_dim]
Definition: JetECS.h:204
JetECS::eGap
double eGap() const
Definition: JetECS.h:146
JetECS::m_jetPhi
double m_jetPhi
Definition: JetECS.h:181
JetECS::eFCal0Cell
double eFCal0Cell(const int ireg) const
Definition: JetECS.h:142
JetECS::m_eTileExt0Cell
double m_eTileExt0Cell[m_dim]
Definition: JetECS.h:198
JetECS::set_eEME1Cell
void set_eEME1Cell(const int ireg, double e)
Definition: JetECS.h:155
JetECS::set_eTileExt2Cell
void set_eTileExt2Cell(const int ireg, double e)
Definition: JetECS.h:163
JetECS::set_eTileBar0Cell
void set_eTileBar0Cell(const int ireg, double e)
Definition: JetECS.h:158
JetECS::set_e
void set_e(double e)
Definition: JetECS.h:174
JetECS::ePreSamBCell
double ePreSamBCell(const int ireg) const
Definition: JetECS.h:124
JetECS::eTileBar2Cell
double eTileBar2Cell(const int ireg) const
Definition: JetECS.h:134
JetECS::eEME3Cell
double eEME3Cell(const int ireg) const
Definition: JetECS.h:131
JetECS::set_eEMB2Cell
void set_eEMB2Cell(const int ireg, double e)
Definition: JetECS.h:153
JetECS::m_dim
static const int m_dim
Definition: JetECS.h:186
JetECS::m_eGap
double m_eGap
Definition: JetECS.h:209
JetECS::m_eFCal2Cell
double m_eFCal2Cell[m_dim]
Definition: JetECS.h:207
JetECS::m_eTileExt1Cell
double m_eTileExt1Cell[m_dim]
Definition: JetECS.h:199