ATLAS Offline Software
Loading...
Searching...
No Matches
MissingEtCalo.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#ifndef MISSINGETEVENT_MISSINGETCALO_H
6#define MISSINGETEVENT_MISSINGETCALO_H
7/********************************************************************
8
9NAME: MissingEtCalo.cxx
10PACKAGE: offline/Reconstruction/MissingETEvent
11
12AUTHORS: P. Loch, S. Resconi
13CREATED: Oct 2004
14
15PURPOSE:
16********************************************************************/
20#include "CaloEvent/CaloCell.h"
21#include "CaloGeoHelpers/CaloSampling.h"
22
23
24#include <vector>
25
27{
28 public:
29
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
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 const 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
81protected:
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
95CLASS_DEF(MissingEtCalo, 73891892, 1)
96
97#endif
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Data object for each calorimeter readout cell.
Definition CaloCell.h:57
void setEtSumCalo(CaloIndex aCalo, double theEtSum)
void addCalo(const CaloCell *aCell, double weight)
double etSumCalo(CaloIndex aCalo) const
std::vector< double > m_exCalo
const std::vector< unsigned int > & ncellCaloVec() const
std::vector< double > m_eyCalo
double exCalo(CaloIndex aCalo) const
void setCalibType(const std::string &theCalibType)
const std::vector< double > & exCaloVec() const
void setExCalo(CaloIndex aCalo, double theEx)
const std::string & calibType() const
void setEtSumCaloVec(std::vector< double > &&etSumCaloVec)
void setNCellCalo(CaloIndex aCalo, unsigned int theNCell)
CaloIndex getCaloIndex(CaloSampling::CaloSample aSample)
void setEyCaloVec(std::vector< double > &&exCaloVec)
std::vector< unsigned int > m_nCellsCalo
std::vector< double > m_etSumCalo
void Calc_Ecellxy(const CaloCell *cObj, double &ex, double &ey)
unsigned int ncellCalo(CaloIndex aCalo) const
const std::vector< double > & etSumCaloVec() const
void setNCellCaloVec(std::vector< unsigned int > &&ncellCaloVec)
const std::vector< double > & eyCaloVec() const
std::string m_calibType
void setExCaloVec(std::vector< double > &&exCaloVec)
virtual ~MissingEtCalo()
void setEyCalo(CaloIndex aCalo, double theEy)
double eyCalo(CaloIndex aCalo) const