|
ATLAS Offline Software
|
Go to the documentation of this file.
18 #include "Gaudi/Property.h"
37 const std::string&
name,
const IInterface *
parent)
39 , m_tileFilterManagerHi(0)
40 , m_tileFilterManagerLo(0)
43 declareInterface< TileRawChannelBuilder >(
this );
44 declareInterface< TileRawChannelBuilderManyAmps >(
this);
67 ATH_MSG_INFO(
"TileRawChannelBuilderManyAmps::initialize()" );
93 if (nParamMax > Nsamp + 1) nParamMax = Nsamp;
94 if (nParamMax < 3) nParamMax = 3;
97 int jEsamp = Nsamp - 1;
99 int jEcross = Nsamp - 1;
107 Nsamp, InTsamp, jBsamp, jEsamp, jBcross, jEcross, Nshape, InTshape, ShapeXHi, lVerbose);
110 Nsamp, InTsamp, jBsamp, jEsamp, jBcross, jEcross, Nshape, InTshape, ShapeXLo, lVerbose);
120 delete tFilterTestHi;
126 delete tFilterTestLo;
129 ATH_MSG_DEBUG(
"TileRawChannelBuilderManyAmps::initialize() completed successfully" );
131 return StatusCode::SUCCESS;
142 return StatusCode::SUCCESS;
153 bool lVerbose(
false);
155 msg(
MSG::VERBOSE) <<
"Running ManyAmps Fit for TileRawChannel with HWID "
169 std::vector<float> digits = tiledigits->
samples();
173 double chisq_ch = 0.;
188 tResult.
getInTime(amp_ch, err_ch, ped_ch, chisq_ch, t_ch);
190 ATH_MSG_VERBOSE(
" TileRawChannelBuilderManyAmps: return from FilterManager/Fitter."
191 <<
", chisq_ch=" << chisq_ch );
198 chisq_ch = -fabs(chisq_ch);
203 rawCh->
assign (adcId, amp_ch, t_ch, chisq_ch, 0);
207 <<
" q=" << chisq_ch );
ToolHandle< TileCondToolNoiseSample > m_tileToolNoiseSample
ToolHandle< TileCondToolEmscale > m_tileToolEmscale
int NdigitSamples() const
Returns the number of sammples (digits) per event.
TileFilterManager * m_tileFilterManagerLo
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
int fitDigits(TileFilterResult &tRes, bool lDebug=false)
double getInTime(double &, double &, double &, double &, double &)
const TileHWID * m_tileHWID
const std::vector< double > & digitsShapeHi() const
Return high gain shape vector to multiply the amplitude of a TileHit to produce TileDigit.
virtual StatusCode initialize()
Initializer.
bool msgLvl(const MSG::Level lvl) const
#define ATH_MSG_VERBOSE(x)
HWIdentifier adc_HWID(void) const
Auxiliary class for TileRawChannelMakerManyAmps.
Auxiliary class for TileRawChannelMakerManyAmps.
virtual StatusCode initialize() override
Initialize.
void assign(const HWIdentifier &id, float amplitude, float time, float quality, float ped=0.0)
TileFragHash::TYPE m_rChType
int ItrigSample() const
The sample at which the pulse should ideally peak.
SG::WriteHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
::StatusCode StatusCode
StatusCode definition for legacy code.
ToolHandle< TileCondIdTransforms > m_tileIdTransforms
#define CHECK(...)
Evaluate an expression and check for errors.
pointer nextElementPtr()
obtain the next available element in pool by pointer pool is resized if its limit has been reached On...
const std::vector< float > & samples() const
const TileInfo * m_tileInfo
Helpers for checking error return status codes and reporting errors.
TileRawChannelBuilderManyAmps(const std::string &type, const std::string &name, const IInterface *parent)
Standard constructor.
#define ATH_MSG_WARNING(x)
virtual TileRawChannel * rawChannel(const TileDigits *digits, const EventContext &ctx) override
Builder virtual method to be implemented by subclasses.
TileFilterManager * m_tileFilterManagerHi
a typed memory pool that saves time spent allocation small object. This is typically used by containe...
Auxiliary class for TileRawChannelMakerManyAmps.
std::string to_string(const HWIdentifier &id, int level=0) const
extract all fields from HW identifier HWIdentifier get_all_fields ( const HWIdentifier & id,...
const std::vector< double > & digitsShapeLo() const
Return low gain shape vector to multiply the amplitude of a TileHit to produce TileDigit.
void genEvents(int nEvent)
~TileRawChannelBuilderManyAmps()
Destructor.
virtual StatusCode finalize() override
Finalize.