29 if (
sc!=StatusCode::SUCCESS) {
31 return StatusCode::FAILURE;
37 if (
sc!=StatusCode::SUCCESS) {
43 if (
sc!=StatusCode::SUCCESS) {
49 if (
sc!=StatusCode::SUCCESS) {
55 if (
sc!=StatusCode::SUCCESS) {
61 if (
sc!=StatusCode::SUCCESS) {
67 if (
sc!=StatusCode::SUCCESS) {
73 if (
sc!=StatusCode::SUCCESS) {
79 if (
sc!=StatusCode::SUCCESS) {
85 if (
sc!=StatusCode::SUCCESS) {
95 return StatusCode::SUCCESS;
105 if (
m_contKey.key().empty())
return StatusCode::SUCCESS;
113 ATH_MSG_WARNING(
"Unable to retrieve LArAccumulatedDigitContainer with key " <<
m_contKey.key() <<
" from DetectorStore. " );
114 return StatusCode::SUCCESS;
117 accuDigitContainer = Hdl.
cptr();
120 if (accuDigitContainer) {
122 if(accuDigitContainer->
empty()) {
124 return StatusCode::SUCCESS;
134 unsigned int trueMaxSample = digit->nsample();
139 ATH_MSG_WARNING(
"The number of samples in data is larger than the one specified by JO: " << trueMaxSample <<
" > " <<
m_Nsamples <<
" --> only " <<
m_Nsamples <<
" will be available in the ntuple " );
146 m_rms = digit->RMS();
147 const std::vector<uint64_t> sampleSquare = digit->sampleSquare();
148 const std::vector<uint64_t> sampleSum = digit->sampleSum();
149 for(
unsigned i=0;i<trueMaxSample;i++) {
151 m_sum[i] = sampleSum[i];
153 std::vector<float> cov;
155 for(
unsigned i=0;i<trueMaxSample-1;i++) {
161 if (
sc!=StatusCode::SUCCESS) {
167 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
size_type size() const noexcept
Returns the number of elements in the collection.
bool empty() const noexcept
Returns true if the collection is empty.
Container class for LArAccumulatedDigit.
Data class for ADC samples and autocorr preprocessed by the DSP.
SG::ReadHandleKey< LArAccumulatedDigitContainer > m_contKey
NTuple::Item< long > m_Ntrigger
NTuple::Array< long > m_sumsq
NTuple::Item< long > m_ntNsamples
virtual StatusCode initialize() override final
NTuple::Item< long > m_IEvent
NTuple::Array< float > m_covr
LArAccumulatedDigits2Ntuple(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< int > m_normalize
NTuple::Item< long > m_EventNum
NTuple::Item< float > m_mean
NTuple::Array< long > m_sum
~LArAccumulatedDigits2Ntuple()
virtual StatusCode execute(const EventContext &ctx) override final
Execute method.
Gaudi::Property< unsigned int > m_Nsamples
NTuple::Item< float > m_rms
bool fillFromIdentifier(const HWIdentifier &id)
LArCond2NtupleBase(const std::string &name, ISvcLocator *pSvcLocator)
virtual bool isValid() override final
Can the handle be successfully dereferenced?
const_pointer_type cptr()
Dereference the pointer.