|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef TILERECUTILS_TILECELLBUILDERFROMHIT_H
6 #define TILERECUTILS_TILECELLBUILDERFROMHIT_H
54 #include "GaudiKernel/ToolHandle.h"
55 #include "GaudiKernel/ServiceHandle.h"
56 #include "CLHEP/Random/RandomEngine.h"
81 :
public extends<AthAlgTool, ICaloCellMakerTool>
94 const EventContext& ctx)
const override;
107 "CaloNoise object to read"};
110 "Input Tile hit container key"};
119 "Output Tile MBTS container key"};
123 "Output Tile E4 prime container key"};
128 "TileSamplingFraction",
"TileSamplingFraction",
"Input Tile sampling fraction"};
149 {
this,
"RndmSvc",
"AthRNGSvc",
"Random Number Service used in TileCellBuildetFromHit" };
152 "TileBadChanTool",
"TileBadChanTool",
"Tile bad channel tool"};
158 "TileEMScale",
"TileEMScale",
"Input Tile EMS calibration constants"};
164 "TileCablingSvc",
"TileCablingSvc",
"The Tile cabling service"};
184 template<
class ITERATOR,
class COLLECTION>
187 const ITERATOR &
begin,
188 const ITERATOR &
end,
201 TileCell* pCell,
bool single_PMT_C10,
bool Ecell)
const;
204 unsigned char iqual,
unsigned char qbit)
const;
211 int ros,
int drawer,
bool count_over,
bool good_time,
bool good_ener,
212 bool overflow,
bool underflow,
bool good_overflowfit)
const;
SG::ReadCondHandleKey< TileSamplingFraction > m_samplingFractionKey
Name of TileSamplingFraction in condition store.
Property holding a SG store/key/clid from which a ReadHandle is made.
static const int NCELLMBTS
int e4pr_index(int phi) const
float m_noiseSigma
cell electronic noise if CaloNoise is switched off
SG::ReadCondHandleKey< CaloNoise > m_caloNoiseKey
Scalar phi() const
phi method
const TileHWID * m_tileHWID
Pointer to TileHWID.
virtual ~TileCellBuilderFromHit()
Destructor.
Scalar eta() const
pseudorapidity method
SG::WriteHandleKey< TileCellContainer > m_MBTSContainerKey
const TileCablingService * m_cabling
Pointer to TileCabling.
void build(const CaloNoise *caloNoise, TileDrawerEvtStatusArray &drawerEvtStatus, const ITERATOR &begin, const ITERATOR &end, COLLECTION *coll, TileCellContainer *MBTSCells, TileCellContainer *E4prCells, const TileSamplingFraction *samplingFraction) const
unsigned char qbits(TileDrawerEvtStatusArray &drawerEvtStatus, int ros, int drawer, bool count_over, bool good_time, bool good_ener, bool overflow, bool underflow, bool good_overflowfit) const
method to compute the cell quality bits
const MbtsDetDescrManager * m_mbtsMgr
Pointer to MbtsDetDescrManager.
SG::ReadCondHandleKey< TileEMScale > m_emScaleKey
Name of TileEMScale in condition store.
std::vector< CaloAffectedRegionInfo > m_affectedRegionInfo_current_run
method to process raw channels from a given vector and store them in collection
virtual StatusCode finalize() override
float m_zeroEnergy
energy to store in every PMT if both PMT are bad
void correctCell(TileCell *pCell, int correction, int pmt, int gain, float ener, float time, unsigned char iqual, unsigned char qbit) const
Compute calibrated energy, time, etc.
const TileID * m_tileID
Pointer to TileID.
virtual StatusCode initialize() override
Initializer.
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
TileFragHash::TYPE m_RChType
Type of TileRawChannels (Fit, OF2, etc.)
SG::WriteHandleKey< TileCellContainer > m_E4prContainerKey
Helper class for TileCal online (hardware) identifiers.
bool maskBadChannel(TileDrawerEvtStatusArray &drawerEvtStatus, TileCell *pCell) const
method to check if channels are good or bad.
This class creates Cells from RawChannels and stores them in a container.
unsigned char iquality(float qual) const
Property holding a SG store/key/clid from which a WriteHandle is made.
float m_minTime
minimum time for the PMTs in the cels
Condition object to keep and provide Tile Calorimeter sampling fraction and number of photoelectrons.
Helper class for TileCal offline identifiers.
::StatusCode StatusCode
StatusCode definition for legacy code.
bool maskBadChannels(TileDrawerEvtStatusArray &drawerEvtStatus, TileCell *pCell, bool single_PMT_C10, bool Ecell) const
float m_eneForTimeCutMBTS
similar cut for MBTS in pC
SG::ReadHandleKey< TileHitContainer > m_hitContainerKey
static const int NCELLE4PR
TileDrawerEvtStatus TileDrawerEvtStatusArray[5][64]
status of every drawer
Property holding a SG store/key/clid from which a WriteHandle is made.
ServiceHandle< IAthRNGSvc > m_rndmSvc
< Random number service to use
std::vector< CaloAffectedRegionInfo > m_affectedRegionInfo_global
TileDrawerRunStatus m_drawerRunStatus[5][64]; //!< overall status of drawer in whole run.
static const InterfaceID & interfaceID()
Container class for CaloCell.
float m_eneForTimeCut
keep time for channels with energy above cut
def time(flags, cells_name, *args, **kw)
virtual StatusCode process(CaloCellContainer *theCellContainer, const EventContext &ctx) const override
method to process all raw channels and store them in container
This class keep detailed status info about one drawer in a given event.
bool m_maskBadChannels
if true=> bad channels are masked
float m_maxTime
maximum time for the PMTs in the cels
const TileTBID * m_tileTBID
Pointer to TileTBID.
int m_qualityCut
cut on channel quality (set energy to m_zeroEnergy for them)
Helper class for TileCal offline identifiers of ancillary testbeam detectors and MBTS.
defines and typedefs for IOVSvc
ToolHandle< ITileBadChanTool > m_tileBadChanTool
const TileDetDescrManager * m_tileMgr
Pointer to TileDetDescrManager.
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
int mbts_index(int side, int phi, int eta) const
object to store information about affected regions in calorimeter
TileCellBuilderFromHit(const std::string &type, const std::string &name, const IInterface *parent)
Contructor.