ATLAS Offline Software
MissingEtCalo.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MISSINGETEVENT_MISSINGETCALO_H
6 #define MISSINGETEVENT_MISSINGETCALO_H
7 /********************************************************************
8 
9 NAME: MissingEtCalo.cxx
10 PACKAGE: offline/Reconstruction/MissingETEvent
11 
12 AUTHORS: P. Loch, S. Resconi
13 CREATED: Oct 2004
14 
15 PURPOSE:
16 ********************************************************************/
17 #include "AthenaKernel/CLASS_DEF.h"
20 #include "CaloEvent/CaloCell.h"
21 #include "CaloGeoHelpers/CaloSampling.h"
22 
23 
24 #include <vector>
25 
26 class MissingEtCalo : public MissingET
27 {
28  public:
29 
30  enum CaloIndex
31  {
32  PEMB = 0,
33  EMB = 1,
34  PEMEC = 2,
35  EME = 3,
36  TILE = 4,
37  HEC = 5,
38  FCAL = 6,
39  Size = 7,
40  NotValid = 999
41  };
42 
43  //contructors
44  MissingEtCalo();
48 
49  virtual ~MissingEtCalo();
50 
51  // add a cell
52  void addCalo(const CaloCell* aCell, double weight);
53 
54  // get calorimeter index
56 
57  // set calorimeter contributions
58  void setExCalo(CaloIndex aCalo, double theEx);
59  void setEyCalo(CaloIndex aCalo, double theEy);
60  void setEtSumCalo(CaloIndex aCalo, double theEtSum);
61  void setNCellCalo(CaloIndex aCalo, unsigned int theNCell);
62  void setCalibType(const std::string& theCalibType);
63 
64  void setExCaloVec(std::vector<double>&& exCaloVec);
65  void setEyCaloVec(std::vector<double>&& exCaloVec);
66  void setEtSumCaloVec(std::vector<double>&& etSumCaloVec);
67  void setNCellCaloVec(std::vector<unsigned int>&& ncellCaloVec);
68 
69  // retrieve calorimeter contributions
70  double exCalo(CaloIndex aCalo) const;
71  double eyCalo(CaloIndex aCalo) const;
72  double etSumCalo(CaloIndex aCalo) const;
73  unsigned int ncellCalo(CaloIndex aCalo) const;
74  std::string calibType() const;
75 
76  const std::vector<double>& exCaloVec() const;
77  const std::vector<double>& eyCaloVec() const;
78  const std::vector<double>& etSumCaloVec() const;
79  const std::vector<unsigned int>& ncellCaloVec() const;
80 
81 protected:
82 
83  std::vector<double> m_exCalo;
84  std::vector<double> m_eyCalo;
85  std::vector<double> m_etSumCalo;
86  std::vector<unsigned int> m_nCellsCalo;
87 
88  std::string m_calibType;
89 
90  void setup();
91  void Calc_Ecellxy(const CaloCell* cObj, double &ex, double &ey);
92 
93 };
94 
95 CLASS_DEF(MissingEtCalo, 73891892, 1)
96 
97 #endif
MissingEtCalo::getCaloIndex
CaloIndex getCaloIndex(CaloSampling::CaloSample aSample)
Definition: MissingEtCalo.cxx:70
MissingEtRegions
Definition: MissingEtRegions.h:22
MissingEtCalo::setCalibType
void setCalibType(const std::string &theCalibType)
Definition: MissingEtCalo.cxx:181
MissingET.h
MissingEtCalo::PEMB
@ PEMB
Definition: MissingEtCalo.h:50
MissingEtCalo::CaloIndex
CaloIndex
Definition: MissingEtCalo.h:40
MissingEtCalo::setNCellCaloVec
void setNCellCaloVec(std::vector< unsigned int > &&ncellCaloVec)
Definition: MissingEtCalo.cxx:209
MissingEtCalo::addCalo
void addCalo(const CaloCell *aCell, double weight)
Definition: MissingEtCalo.cxx:43
MissingEtCalo::setNCellCalo
void setNCellCalo(CaloIndex aCalo, unsigned int theNCell)
Definition: MissingEtCalo.cxx:174
MissingET::Source
Source
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingET.h:38
MissingEtCalo::HEC
@ HEC
Definition: MissingEtCalo.h:55
MissingEtCalo::setEtSumCalo
void setEtSumCalo(CaloIndex aCalo, double theEtSum)
Definition: MissingEtCalo.cxx:166
CaloCell.h
MissingEtCalo
Definition: MissingEtCalo.h:27
MissingEtCalo::ncellCaloVec
const std::vector< unsigned int > & ncellCaloVec() const
Definition: MissingEtCalo.cxx:267
MissingEtCalo::m_eyCalo
std::vector< double > m_eyCalo
Definition: MissingEtCalo.h:93
MissingEtCalo::m_calibType
std::string m_calibType
Definition: MissingEtCalo.h:97
MissingEtCalo::exCaloVec
const std::vector< double > & exCaloVec() const
Definition: MissingEtCalo.cxx:246
MissingEtCalo::ncellCalo
unsigned int ncellCalo(CaloIndex aCalo) const
Definition: MissingEtCalo.cxx:233
MissingEtCalo::FCAL
@ FCAL
Definition: MissingEtCalo.h:56
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
MissingEtCalo::etSumCalo
double etSumCalo(CaloIndex aCalo) const
Definition: MissingEtCalo.cxx:228
MissingEtCalo::calibType
std::string calibType() const
Definition: MissingEtCalo.cxx:238
MissingEtCalo::setEyCaloVec
void setEyCaloVec(std::vector< double > &&exCaloVec)
Definition: MissingEtCalo.cxx:195
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
MissingEtCalo::exCalo
double exCalo(CaloIndex aCalo) const
Definition: MissingEtCalo.cxx:218
MissingEtCalo::setExCalo
void setExCalo(CaloIndex aCalo, double theEx)
Definition: MissingEtCalo.cxx:152
MissingEtCalo::eyCaloVec
const std::vector< double > & eyCaloVec() const
Definition: MissingEtCalo.cxx:253
MissingEtCalo::Calc_Ecellxy
void Calc_Ecellxy(const CaloCell *cObj, double &ex, double &ey)
Definition: MissingEtCalo.cxx:283
MissingEtCalo::EMB
@ EMB
Definition: MissingEtCalo.h:51
MissingEtCalo::Size
@ Size
Definition: MissingEtCalo.h:57
MissingEtCalo::setEyCalo
void setEyCalo(CaloIndex aCalo, double theEy)
Definition: MissingEtCalo.cxx:159
MissingEtCalo::setEtSumCaloVec
void setEtSumCaloVec(std::vector< double > &&etSumCaloVec)
Definition: MissingEtCalo.cxx:202
MissingEtCalo::m_etSumCalo
std::vector< double > m_etSumCalo
Definition: MissingEtCalo.h:94
MissingEtCalo::setup
void setup()
Definition: MissingEtCalo.cxx:273
MissingEtRegions.h
MissingEtCalo::etSumCaloVec
const std::vector< double > & etSumCaloVec() const
Definition: MissingEtCalo.cxx:260
MissingEtCalo::MissingEtCalo
MissingEtCalo()
Definition: MissingEtCalo.cxx:20
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
MissingEtCalo::eyCalo
double eyCalo(CaloIndex aCalo) const
Definition: MissingEtCalo.cxx:223
MissingET
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingET.h:23
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
MissingEtCalo::PEMEC
@ PEMEC
Definition: MissingEtCalo.h:52
MissingEtCalo::~MissingEtCalo
virtual ~MissingEtCalo()
Definition: MissingEtCalo.cxx:38
MissingEtCalo::NotValid
@ NotValid
Definition: MissingEtCalo.h:58
MissingEtCalo::EME
@ EME
Definition: MissingEtCalo.h:53
MissingEtCalo::m_exCalo
std::vector< double > m_exCalo
Definition: MissingEtCalo.h:92
MissingEtCalo::setExCaloVec
void setExCaloVec(std::vector< double > &&exCaloVec)
Definition: MissingEtCalo.cxx:188
MissingEtCalo::m_nCellsCalo
std::vector< unsigned int > m_nCellsCalo
Definition: MissingEtCalo.h:95
CLASS_DEF.h
macros to associate a CLID to a type
MissingEtCalo::TILE
@ TILE
Definition: MissingEtCalo.h:54