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;
107 const EventContext& ctx = Gaudi::Hive::currentContext();
114 ATH_MSG_WARNING(
"Unable to retrieve LArAccumulatedDigitContainer with key " <<
m_contKey.key() <<
" from DetectorStore. " );
115 return StatusCode::SUCCESS;
118 accuDigitContainer = Hdl.
cptr();
121 if (accuDigitContainer) {
123 if(accuDigitContainer->
empty()) {
125 return StatusCode::SUCCESS;
135 unsigned int trueMaxSample = digit->nsample();
140 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 " );
147 m_rms = digit->RMS();
148 const std::vector<uint64_t> sampleSquare = digit->sampleSquare();
149 const std::vector<uint64_t> sampleSum = digit->sampleSum();
150 for(
unsigned i=0;i<trueMaxSample;i++) {
152 m_sum[i] = sampleSum[i];
154 std::vector<float> cov;
156 for(
unsigned i=0;i<trueMaxSample-1;i++) {
162 if (
sc!=StatusCode::SUCCESS) {
168 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
virtual StatusCode execute() 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()
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.