ATLAS Offline Software
MakeLArCellFromRaw.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARCELLREC_MAKELARCELLFROMRAW_H
6 #define LARCELLREC_MAKELARCELLFROMRAW_H
7 
16 #include "LArRecEvent/LArCell.h"
19 #include "CaloIdentifier/CaloGain.h"
20 #include "AthAllocators/DataPool.h"
21 
22 #include <map>
23 #include <vector>
24 class CaloDetDescrElement ;
25 
26 class LArRoIMap;
27 class LArOnOffIdMapping;
29 
31 {
32 public:
33 
34  struct CellInfo
35  {
37  double eta ;
38  double phi ;
39  double x ;
40  double y ;
41  double z ;
42  bool fcal ;
43  unsigned int tt;
45  double eCorr ;
46  };
47 
51 
55 
56 
59  void initialize ( const LArRoIMap& roiMap,
60  const LArOnOffIdMapping& onOffMap,
61  const CaloDetDescrManager& man,
62  const std::vector<const CaloCellCorrection*>* pCorr, unsigned int poolMaxSize =190000);
63 
66  LArCell* getLArCell( unsigned int feb, unsigned int chan,
67  int e, int t, int q , CaloGain::CaloGain caloGain, unsigned int & ttId) const;
68 
69  LArCell* getLArCell( const HWIdentifier& id, int e, int t, int q,
70  CaloGain::CaloGain g) const ;
71 
72  //FIXME will disappear
73  LArCell* getLArCell( unsigned int feb, unsigned int chan,
74  int e, int t, int q , unsigned int & ttId) const;
75  //FIXME will disappear
76  LArCell* getLArCell( const HWIdentifier& id, int e, int t, int q ) const ;
77 
78 
79  void setThreshold(float t);
80 
81 private:
82 
83  // Find correction factor for this LArCell
84  double getCorrection(LArCell* cell,
85  const std::vector<const CaloCellCorrection*>& vCorr,
86  const EventContext& ctx) const;
87 
88  // cells in a FEB stored in a vector
89  typedef std::vector<CellInfo> CELL_VEC ;
90 
91  // all FEBs in a map.
92  typedef std::map<unsigned int, CELL_VEC > CELL_MAP;
93 
95 
96  size_t m_poolMaxSize;
97  IMessageSvc * m_msgSvc ;
98 
100 
101  float m_ethreshold ; // common threshold in MeV
102 
103 };
104 
105 #endif
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
MakeLArCellFromRaw::getLArCell
LArCell * getLArCell(unsigned int feb, unsigned int chan, int e, int t, int q, CaloGain::CaloGain caloGain, unsigned int &ttId) const
access by Identifier
Definition: MakeLArCellFromRaw.cxx:272
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
MakeLArCellFromRaw::getCorrection
double getCorrection(LArCell *cell, const std::vector< const CaloCellCorrection * > &vCorr, const EventContext &ctx) const
Definition: MakeLArCellFromRaw.cxx:321
MakeLArCellFromRaw::m_onlineID
const LArOnlineID * m_onlineID
Definition: MakeLArCellFromRaw.h:99
MakeLArCellFromRaw
Building LArCell objects from LArRawChannel.
Definition: MakeLArCellFromRaw.h:31
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
MakeLArCellFromRaw::CellInfo
Definition: MakeLArCellFromRaw.h:35
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
MakeLArCellFromRaw::CELL_VEC
std::vector< CellInfo > CELL_VEC
Definition: MakeLArCellFromRaw.h:89
HWIdentifier
Definition: HWIdentifier.h:13
MakeLArCellFromRaw::initialize
void initialize(const LArRoIMap &roiMap, const LArOnOffIdMapping &onOffMap, const CaloDetDescrManager &man, const std::vector< const CaloCellCorrection * > *pCorr, unsigned int poolMaxSize=190000)
initialize the internal map
Definition: MakeLArCellFromRaw.cxx:45
MakeLArCellFromRaw::~MakeLArCellFromRaw
~MakeLArCellFromRaw()
destructor
Definition: MakeLArCellFromRaw.cxx:40
CaloCellCorrection.h
MakeLArCellFromRaw::CellInfo::fcal
bool fcal
Definition: MakeLArCellFromRaw.h:42
MakeLArCellFromRaw::CellInfo::tt
unsigned int tt
Definition: MakeLArCellFromRaw.h:43
MakeLArCellFromRaw::CELL_MAP
std::map< unsigned int, CELL_VEC > CELL_MAP
Definition: MakeLArCellFromRaw.h:92
ReadCellNoiseFromCool.chan
chan
Definition: ReadCellNoiseFromCool.py:52
MakeLArCellFromRaw::CellInfo::eCorr
double eCorr
Definition: MakeLArCellFromRaw.h:45
MakeLArCellFromRaw::CellInfo::y
double y
Definition: MakeLArCellFromRaw.h:40
python.CaloCondTools.g
g
Definition: CaloCondTools.py:15
MakeLArCellFromRaw::CellInfo::phi
double phi
Definition: MakeLArCellFromRaw.h:38
MakeLArCellFromRaw::m_ethreshold
float m_ethreshold
Definition: MakeLArCellFromRaw.h:101
DataPool.h
MakeLArCellFromRaw::CellInfo::eta
double eta
Definition: MakeLArCellFromRaw.h:37
MakeLArCellFromRaw::m_msgSvc
IMessageSvc * m_msgSvc
Definition: MakeLArCellFromRaw.h:97
LArCell.h
LArOnlineID
Definition: LArOnlineID.h:20
LArCell
Data object for LAr calorimeter readout cell.
Definition: LArCell.h:53
MakeLArCellFromRaw::MakeLArCellFromRaw
MakeLArCellFromRaw()
constructor
Definition: MakeLArCellFromRaw.cxx:31
CaloGain::CaloGain
CaloGain
Definition: CaloGain.h:11
MakeLArCellFromRaw::setThreshold
void setThreshold(float t)
Definition: MakeLArCellFromRaw.cxx:341
MakeLArCellFromRaw::m_poolMaxSize
size_t m_poolMaxSize
Definition: MakeLArCellFromRaw.h:96
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition: CaloDetDescrManager.h:473
LArRoIMap
Mapping between calorimeter trigger id to offline/online Identifier.
Definition: LArRoIMap.h:31
extractSporadic.q
list q
Definition: extractSporadic.py:98
MakeLArCellFromRaw::CellInfo::id
Identifier id
Definition: MakeLArCellFromRaw.h:36
MakeLArCellFromRaw::m_cellMap
CELL_MAP m_cellMap
Definition: MakeLArCellFromRaw.h:94
CaloGain.h
MakeLArCellFromRaw::CellInfo::z
double z
Definition: MakeLArCellFromRaw.h:41
MakeLArCellFromRaw::CellInfo::elem
const CaloDetDescrElement * elem
Definition: MakeLArCellFromRaw.h:44
MakeLArCellFromRaw::CellInfo::x
double x
Definition: MakeLArCellFromRaw.h:39
LArOnlineID.h
LArOnOffIdMapping
Definition: LArOnOffIdMapping.h:20
Identifier
Definition: IdentifierFieldParser.cxx:14