ATLAS Offline Software
TileBeamElemToCell.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 //****************************************************************************
6 // Filename : TileCellFromRawChannel.h
7 // Author : Ed Frank, Ambreesh Gupta, Frank Merritt
8 // Created : Mar 2002
9 //
10 // DESCRIPTION
11 //
12 // TileCellFromRawChannel extracts the energy depositied in each
13 // cell from the PMT amplitudes contained in TileRawChannel. (For
14 // barrel and extended-barrel, two PMT's feed into each cell; for the
15 // Gap cells, there is only one PMT.) Calibrations constants are
16 // applied, and the total energy in the cell, the mean time of the
17 // energy deposition, and the quality of the measurement are calculated
18 // here. is returned.
19 //
20 // Clearly different things are needed for different data, e.g.,
21 // full simulation vs. fast simulation vs. data. LAr handles this by
22 // a strategy of having a top level algorithm that calls builder sub-algs
23 // and a list of cell-correction sub-algs. It is not clear to us yet
24 // how we (tile) will want to tie to the database nor what level of
25 // complexity will exist in Tile for this task, so we will start with
26 // the simplest thing, TileCellBuilderAlg, which will do both the
27 // converstion of Raw to Cell and correctsions/scaling.
28 //
29 // Properties (JobOption Parameters):
30 //
31 // TileRawChannelContainer string Name of container with TileRawChannel to read
32 // TileCellContainer string Name of CaloCellContainer to write
33 // TileInfoName string Name of object in TDS with all parameters
34 //
35 // BUGS:
36 //
37 // History:
38 // 02Mar02 Created from TileCellBuilderAlg.
39 //
40 //****************************************************************************
41 
42 #ifndef TILERECALGS_TILEBEAMELEMTOCELL_H
43 #define TILERECALGS_TILEBEAMELEMTOCELL_H
44 
45 // Tile includes
47 
48 // Calo includes
50 
51 // Atlas includes
55 
56 
57 // Avoid pushing dependencies into clients- just fwd declare the following:
58 
59 class TileTBID;
60 class TileHWID;
61 class TileCell;
62 class TileInfo;
64 
65 // C++ STL includes
66 #include <string>
67 #include <vector>
68 
70  public:
71  // Constructor
72  TileBeamElemToCell(const std::string& name, ISvcLocator* pSvcLocator);
73 
74  //Destructor
75  virtual ~TileBeamElemToCell();
76 
77  //Gaudi Hooks
81 
82  private:
83 
85  "TileBeamElemCnt",
86  "Input Tile beam elements container key"};
87 
89  "TileTBCellCnt", "Output Calo cell container key"};
90 
91 
92  std::string m_infoName;
93 
98 
99 // std::vector<TileCell *> m_allCells;
100 
101 // Compute calibrated energy, time, etc. for TileCell and adjust it.
102  void correctCell(TileCell* pCell, int correction, int pmt, int gain,
103  double ener, double time, double qual);
104 };
105 
106 #endif // TILERECALGS_TILEBEAMELEMTOCELL_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TileCell
Definition: TileCell.h:57
TileBeamElemToCell::~TileBeamElemToCell
virtual ~TileBeamElemToCell()
Definition: TileBeamElemToCell.cxx:56
ReadBchFromCool.pmt
pmt
Definition: ReadBchFromCool.py:62
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
TileBeamElemToCell
Definition: TileBeamElemToCell.h:69
TileBeamElemToCell::finalize
StatusCode finalize()
Definition: TileBeamElemToCell.cxx:141
TileInfo
Definition: TileInfo.h:49
SG::ReadHandleKey< TileBeamElemContainer >
TileBeamElemToCell::correctCell
void correctCell(TileCell *pCell, int correction, int pmt, int gain, double ener, double time, double qual)
AthAlgorithm.h
tools.zlumi_mc_cf.correction
def correction(mu, runmode, campaign, run=None)
Definition: zlumi_mc_cf.py:4
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition: TileHWID.h:49
TileBeamElemToCell::m_beamElemContainerKey
SG::ReadHandleKey< TileBeamElemContainer > m_beamElemContainerKey
Definition: TileBeamElemToCell.h:84
SG::WriteHandleKey< CaloCellContainer >
TileBeamElemToCell::m_tileInfo
const TileInfo * m_tileInfo
Definition: TileBeamElemToCell.h:96
TileBeamElemToCell::m_infoName
std::string m_infoName
Definition: TileBeamElemToCell.h:92
TileDetDescrManager
Definition: TileDetDescrManager.h:33
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TileBeamElemToCell::m_tileTBID
const TileTBID * m_tileTBID
Definition: TileBeamElemToCell.h:94
TileBeamElemToCell::m_tileHWID
const TileHWID * m_tileHWID
Definition: TileBeamElemToCell.h:95
AthAlgorithm
Definition: AthAlgorithm.h:47
TileBeamElemToCell::m_cellContainerKey
SG::WriteHandleKey< CaloCellContainer > m_cellContainerKey
Definition: TileBeamElemToCell.h:88
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TileBeamElemToCell::initialize
StatusCode initialize()
Definition: TileBeamElemToCell.cxx:63
CaloCellContainer.h
TileBeamElemToCell::m_tileMgr
const TileDetDescrManager * m_tileMgr
Definition: TileBeamElemToCell.h:97
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
TileBeamElemContainer.h
beamspotman.qual
qual
Definition: beamspotman.py:481
TileTBID
Helper class for TileCal offline identifiers of ancillary testbeam detectors and MBTS.
Definition: Calorimeter/CaloIdentifier/CaloIdentifier/TileTBID.h:65
TileBeamElemToCell::execute
StatusCode execute()
Definition: TileBeamElemToCell.cxx:85
TileBeamElemToCell::TileBeamElemToCell
TileBeamElemToCell(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TileBeamElemToCell.cxx:46