5#ifndef TILERAWCHNOISECALIBALG_H
6#define TILERAWCHNOISECALIBALG_H
19#include "GaudiKernel/ToolHandle.h"
61 virtual StatusCode
execute()
override;
62 virtual StatusCode
finalize()
override;
85 static void doFit(TH1F*
h,
float* gp,
bool invert =
true);
90 return (abs(
m_cabling->channel2hole(ros, chan)) - 1);
121 "TileCondToolEmscale",
"TileCondToolEmscale",
"Tile em scale tool"};
123 "TileBadChanTool",
"TileBadChanTool",
"Tile bad channel tool"};
126 "TileCondIdTransforms",
"TileCondIdTransforms",
"Tile Id transforms tool"};
130 "EventInfo",
"EventInfo",
"EventInfo key"};
132 "TileRawChannelContainerFixed",
"TileRawChannelFixed",
133 "Input Tile raw channel container reconstructed with ATLAS method"};
135 "TileRawChannelContainerFit",
"TileRawChannelFit",
136 "Input Tile raw channel container reconstructed with Fit method"};
138 "TileRawChannelContainerOpt",
"TileRawChannelOpt2",
139 "Input Tile raw channel container reconstructed with Opt method"};
141 "TileRawChannelContainerDsp",
"TileRawChannelCnt",
142 "Input Tile raw channel container from DSP"};
144 "TileRawChannelContainerOF1",
"TileRawChannelOF1",
145 "Input Tile raw channel container reconstructed with OF1 method"};
147 "TileRawChannelContainerMF",
"TileRawChannelMF",
148 "Input Tile raw channel container reconstructed with MF method"};
Property holding a SG store/key/clid from which a ReadHandle is made.
Information produced by TileDQstatusAlg (used to be done by TileBeamInfoProvider).
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Header file for AthHistogramAlgorithm.
Property holding a SG store/key/clid from which a ReadHandle is made.
This AthConstConverter class provides conversion from ByteStream to TileBeamElemContainer.
Static class providing several utility functions and constants.
static const unsigned int MAX_ROS
Number of ROSs.
static const unsigned int MAX_GAIN
Number of gains per channel.
static const unsigned int MAX_DRAWER
Number of drawers in ROS 1-4.
static const unsigned int MAX_CHAN
Number of channels in drawer.
Class that holds Data Quality fragment information and provides functions to extract the data quality...
Helper class for TileCal online (hardware) identifiers.
Helper class for TileCal offline identifiers.
float(* m_rc_mean_err)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
float(* m_rc_av)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
uint8_t(* m_ros)[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
uint32_t(* m_ecell_hash)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS]
float(* m_rc_probC2)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerMFKey
bool(* m_side)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
std::string m_digitsContainer
float(* m_rc_kurtosis)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
float(* m_rc_sigma_err)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
float(* m_rc_gsigma2)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
float(* m_rc_mean)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
uint8_t(* m_drawer)[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
float(* m_gerrsigma1)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
void finalRawCh(int rctype)
finalDigits is called during finalize Here the average Ped, lfn, hfn and covariance are calculated.
uint8_t(* m_gg)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
virtual ~TileRawChNoiseCalibAlg()
std::string m_fixedRawChannelContainer
TileBeamElemContByteStreamCnv * m_beamCnv
float(* m_rc_gerrsigma1)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
static constexpr int NSIDES
uint8_t(* m_sample)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
SG::ReadHandleKey< TileDQstatus > m_dqStatusKey
uint8_t(* m_tower)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
std::string m_optRawChannelContainer
std::string m_dspRawChannelContainer
void fillCellHist()
fillCellHist is called during execute It fill the HGHG and LGLG combination of the cell energies
uint8_t(* m_phi)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
virtual StatusCode execute() override
Main method.
float(* m_gerrnorm)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
bool(* m_gain)[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
StatusCode fillRawChannels(const TileDQstatus *dqStatus, const SG::ReadHandleKey< TileRawChannelContainer > &rawChannelContainerKey, RCtype rctype)
float(* m_rc_chi2)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
float(* m_ecell_ene)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][Tile::MAX_GAIN]
float(* m_rc_rms)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
float(* m_rc_gerrnorm)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
float(* m_rc_gchi2)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerFixedKey
float(* m_rc_sigma)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
float(* m_rc_gsigma1)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerDspKey
ToolHandle< ITileBadChanTool > m_tileBadChanTool
const uint32_t * m_cispar
float(* m_rc_ndf)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
ToolHandle< TileCondToolEmscale > m_tileToolEmscale
float(* m_rc_skewness)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
float(* m_gcorrsigma1sigma2)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
std::string m_beamElemContainer
float(* m_ecell_av)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
float(* m_gsigma1)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
float(* m_gnorm)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
const TileCablingService * m_cabling
void fillCell(TileRawChannelUnit::UNIT RChUnit, const TileRawChannel *rch)
float(* m_ggpar)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS][NPARS]
float(* m_rc_gnorm)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerOptKey
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerOF1Key
StatusCode FirstEvt_initialize()
Initialization done at the first event.
void StoreRunInfo(const TileDQstatus *dqStatus)
StoreRunInfo is called only during the first event.
float(* m_gsigma2)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
static constexpr int NTOWERS
float(* m_rc_gcorrsigma1sigma2)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
void finalCell()
finalCell is called during finalize Here the cell variables of the ntuple are filled.
static constexpr int NSAMPLES
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerFitKey
static constexpr int NCELLGAINS
float(* m_gchi2)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
uint8_t(* m_channel)[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
int(* m_evt)[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
static constexpr int NPARS
void deleteHist()
deleteHist is called at finalize to ensure that no histogram goes into any output root file delete []...
int digiChannel2PMT(int ros, int chan)
virtual StatusCode initialize() override
Only array initialization is done here All the helpers initialization is done at the first event.
int(* m_cell_nch)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][Tile::MAX_GAIN]
virtual StatusCode finalize() override
The output ntuple is created in finalize method.
float(* m_gerrsigma2)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
std::string m_MFRawChannelContainer
float(* m_rc_ggpar)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN][NPARS]
std::string m_OF1RawChannelContainer
ToolHandle< TileCondIdTransforms > m_tileIdTrans
float(* m_rc_gerrsigma2)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
TileRawChNoiseCalibAlg(const std::string &name, ISvcLocator *pSvcLocator)
float(* m_ecell_rms)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
const TileHWID * m_tileHWID
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
std::string m_fitRawChannelContainer
TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)