Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef TILERECUTILS_TILECELLBUILDER_H
6 #define TILERECUTILS_TILECELLBUILDER_H
51 #include "GaudiKernel/ToolHandle.h"
52 #include "GaudiKernel/ServiceHandle.h"
108 :
public extends<AthAlgTool, ICaloCellMakerTool>
121 const EventContext& ctx)
const override;
123 void reset(
bool fullSizeCont,
bool printReset =
true);
138 "Input Tile raw channel container key"};
142 "Input Tile DSP raw channel container key"};
156 "Output Tile MBTS container key"};
160 "Output Tile E4 prime container key"};
163 "EventInfo.TileStatus",
164 "Dummy decoration key to aid scheduling"};
207 "TileBadChannels",
"TileBadChannels",
"Input Tile bad channel status"};
213 "TileEMScale",
"TileEMScale",
"Input Tile EMS calibration constants"};
216 "TileCondToolTiming",
"TileCondToolTiming",
"Tile timing tool"};
219 "NoiseFilterTools", {},
"Tile noise filter tools"};
225 "TileDCS",
"TileDCS",
"Input Tile DCS status"};
231 "TileCablingSvc",
"TileCablingSvc",
"The Tile cabling service"};
271 template<
class ITERATOR,
class COLLECTION>
272 void build (
const EventContext& ctx,
275 const ITERATOR &
begin,
276 const ITERATOR &
end,
292 unsigned char iqual,
unsigned char qbit,
int ch_type)
const;
303 bool count_over,
bool good_time,
bool good_ener,
304 bool overflow,
bool underflow,
305 bool good_overflowfit)
const;
307 template<
typename T,
typename V>
JetConstituentVector::iterator iterator
Property holding a SG store/key/clid from which a ReadHandle is made.
static const InterfaceID & interfaceID()
float m_ADCmaskValueMinusEps
DoubleVectorIterator(VecParams ¶ms, T *f, const VecParams ¶ms1, T *s, const VecParams ¶ms2, int p)
SG::WriteDecorHandleKey< xAOD::EventInfo > m_EventInfoTileStatusKey
const TileCablingService * m_cabling
TileCabling instance.
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
float m_ampMinThresh
correct amplitude if it's above amplitude threshold (in ADC counts)
void reset(bool fullSizeCont, bool printReset=true)
Method to reset the options of the TileCellContainer.
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
int m_skipGain
for two-gain calib runs skip one of two gains
std::vector< CaloAffectedRegionInfo > m_affectedRegionInfo_global
SG::WriteHandleKey< TileCellContainer > m_E4prContainerKey
float m_timeMinThresh
correct amplitude is time is above time min threshold
bool m_mergeChannels
If true, missing raw channels are taken from DSP container.
unsigned char iquality(float qual) const
SG::ReadCondHandleKey< TileBadChannels > m_badChannelsKey
Name of TileBadChannels in condition store.
const TileHWID * m_tileHWID
Pointer to TileHWID.
SG::ReadCondHandleKey< TileEMScale > m_emScaleKey
Name of TileEMScale in condition store.
This class provides conversion between fragment ID and RESrcID.
bool m_maskBadChannels
if true=> bad channels are masked
float m_maxTimeDiff
maximum time difference between the PMTs in the cell
const MbtsDetDescrManager * m_mbtsMgr
Pointer to MbtsDetDescrManager.
Helper class for TileCal online (hardware) identifiers.
std::vector< CaloAffectedRegionInfo > m_affectedRegionInfo_current_run
Class that holds Data Quality fragment information and provides functions to extract the data quality...
SG::ReadCondHandleKey< TileDCSState > m_DCSStateKey
Name of TileDCSState object in condition store.
float m_minEneChan[3]
channel energy thresholds for masking (normal,gap,mbts)
float m_timeMaxThresh
correct amplitude is time is below time max threshold
TileFragHash::TYPE m_RChType
Property holding a SG store/key/clid from which a WriteHandle is made.
void correctCell(TileCell *pCell, int correction, int pmt, int gain, float ener, float time, unsigned char iqual, unsigned char qbit, int ch_type) const
Compute calibrated energy, time, etc.
Helper class for TileCal offline identifiers.
DoubleVectorIterator & operator=(const DoubleVectorIterator &other)=default
::StatusCode StatusCode
StatusCode definition for legacy code.
const TileID * m_tileID
Pointer to TileID.
const TileDetDescrManager * m_tileMgr
Pointer to TileDetDescrManager.
DoubleVectorIterator(const DoubleVectorIterator &i)=default
float m_maxTime
maximum time for the PMTs in the cels
float m_minChi2
minimum chi2 for the PMTs in the cels
Information produced by TileDQstatusAlg (used to be done by TileBeamInfoProvider).
float m_maxChi2
maximum chi2 for the PMTs in the cels
const TileTBID * m_tileTBID
Pointer to TileTBID.
const VecParams & m_params2
SG::ReadHandleKey< TileRawChannelContainer > m_dspRawChannelContainerKey
Property holding a SG store/key/clid from which a WriteHandle is made.
TileDrawerEvtStatus TileDrawerEvtStatusArray[5][64]
status of every drawer
const VecParams & m_params1
bool m_of2
If true, assume OF2 method for amplitude correction, otherwise - OF1.
Condition object to keep Tile channel and ADC status.
float m_zeroEnergy
energy to store in every PMT if both PMT are bad
bool m_correctTime
should time be corrected (deltat added from CondDB)
float m_eneForTimeCut
keep time for channels with energy above cut
bool maskBadChannels(TileDrawerEvtStatusArray &drawerEvtStatus, const TileDQstatus *DQstatus, const TileDCSState *dcsState, const TileBadChannels *badChannels, TileCell *pCell) const
virtual StatusCode initialize() override
Initializer.
Container class for CaloCell.
void build(const EventContext &ctx, TileDrawerEvtStatusArray &drawerEvtStatus, VecParams ¶ms, const ITERATOR &begin, const ITERATOR &end, COLLECTION *coll, TileCellContainer *MBTSCells, TileCellContainer *E4prCells) const
< method to process raw channels from a given vector and store them in collection
This class creates Cells from RawChannels and stores them in a container.
TileRawChannelUnit::UNIT m_RChUnit
std::string m_dspRawChannelContainer
bool operator!=(const DoubleVectorIterator &i)
ToolHandleArray< ITileRawChannelTool > m_noiseFilterTools
def time(flags, cells_name, *args, **kw)
SG::WriteHandleKey< TileCellContainer > m_MBTSContainerKey
int m_qualityCut
cut on channel quality (set energy to m_zeroEnergy for them)
float m_eThreshold
cell energy threshold to consider the cell
This class keep detailed status info about one drawer in a given event.
bool maskBadChannel(TileDrawerEvtStatusArray &drawerEvtStatus, const TileDQstatus *DQstatus, const TileDCSState *dcsState, const TileBadChannels *badChannels, TileCell *pCell, HWIdentifier hwid) const
method to check if channels are good or bad.
float m_eneForTimeCutMBTS
similar cut for MBTS in pC
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
unsigned char qbits(TileDrawerEvtStatusArray &drawerEvtStatus, TileFragHash::TYPE RChType, 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
bool m_correctAmplitude
If true, amplitude is corrected by parabolic function (needed for OF without iterations)
Condition object to keep Tile DCS status from DB.
bool m_thresholdNotSet
bool variable to check whether some threshold have been set
float m_ADCmaskValuePlusEps
SG::ReadHandleKey< TileDQstatus > m_DQstatusKey
Helper class for TileCal offline identifiers of ancillary testbeam detectors and MBTS.
virtual ~TileCellBuilder()
Destructor.
defines and typedefs for IOVSvc
This class keep detailed status info about one drawer in whole run.
TileCellBuilder(const std::string &type, const std::string &name, const IInterface *parent)
Contructor.
bool m_fakeCrackCells
if true=> fake E3/E4 cells added
float m_minTime
minimum time for the PMTs in the cels
object to store information about affected regions in calorimeter
virtual StatusCode finalize() override
ToolHandle< TileCondToolTiming > m_tileToolTiming
const TileInfo * m_tileInfo
DoubleVectorIterator & operator++()
virtual StatusCode process(CaloCellContainer *theCellContainer, const EventContext &ctx) const override
method to process all raw channels and store them in container