ATLAS Offline Software
Loading...
Searching...
No Matches
XtalkCorrHisto Class Reference

#include <LArStripsCrossTalkCorrector.h>

Collaboration diagram for XtalkCorrHisto:

Classes

struct  maxlistitem

Public Member Functions

 XtalkCorrHisto (const unsigned nBins, const float maxbin)
void add (const LArAccumulatedCalibDigit *dig, const float reldiff)
void print (MsgStream &stream, const LArOnlineID *onlId, MSG::Level lvl=MSG::INFO)

Private Attributes

const unsigned m_nBins
const float m_binwidth
std::vector< unsigned > m_diffs
std::vector< maxlistitemm_maxlist

Detailed Description

Definition at line 29 of file LArStripsCrossTalkCorrector.h.

Constructor & Destructor Documentation

◆ XtalkCorrHisto()

XtalkCorrHisto::XtalkCorrHisto ( const unsigned nBins,
const float maxbin )

Definition at line 518 of file LArStripsCrossTalkCorrector.cxx.

518 :
519 m_nBins(nBins),
520 m_binwidth(upperLimit/nBins),
521 m_diffs(nBins,0)
522{}
std::vector< unsigned > m_diffs

Member Function Documentation

◆ add()

void XtalkCorrHisto::add ( const LArAccumulatedCalibDigit * dig,
const float reldiff )

Definition at line 524 of file LArStripsCrossTalkCorrector.cxx.

524 {
525
526 unsigned iBin=(unsigned)(std::fabs(reldiff)/m_binwidth);
527 if (iBin>=m_nBins-1) {
528 iBin=m_nBins-1;
529 m_maxlist.emplace_back(dig->hardwareID(),dig->DAC(),dig->delay(),reldiff);
530 }
531 ++m_diffs[iBin];
532}
int delay() const
return the setting of the delay
const HWIdentifier & hardwareID() const
Return HWIdentifier.
int DAC() const
return the number of samples
std::vector< maxlistitem > m_maxlist

◆ print()

void XtalkCorrHisto::print ( MsgStream & stream,
const LArOnlineID * onlId,
MSG::Level lvl = MSG::INFO )

Definition at line 534 of file LArStripsCrossTalkCorrector.cxx.

534 {
535
536 const unsigned nBins=m_diffs.size();
537 if (nBins==0) return;
538 out << lvl << "Cross Talk Correction Summary:" << endmsg;
539 for (unsigned i=0;i<nBins-1;++i)
540 out << lvl << " " << i*m_binwidth << " - " << (i+1)*m_binwidth << ":" << m_diffs[i] << " channels" << endmsg;
541
542 out << lvl << " " << (nBins-1)*m_binwidth << " - max" << ":" << m_diffs[nBins-1] << " channels" << endmsg;
543
544 if (!m_maxlist.empty()) {
545 out << lvl << "Data points with the highes correction:" << endmsg;
546 std::vector<maxlistitem>::const_iterator it=m_maxlist.begin();
547 std::vector<maxlistitem>::const_iterator it_e=m_maxlist.end();
548 for(;it!=it_e;++it)
549 out << lvl << " " << onlId->channel_name(it->chid) << " DAC=" << it->dac << " Delay=" << it->delay << " Deviation:" << it->reldiff << endmsg;
550 }
551 }
#define endmsg
std::string channel_name(const HWIdentifier id) const
Return a string corresponding to a feedthrough name given an identifier.

Member Data Documentation

◆ m_binwidth

const float XtalkCorrHisto::m_binwidth
private

Definition at line 47 of file LArStripsCrossTalkCorrector.h.

◆ m_diffs

std::vector<unsigned> XtalkCorrHisto::m_diffs
private

Definition at line 48 of file LArStripsCrossTalkCorrector.h.

◆ m_maxlist

std::vector<maxlistitem> XtalkCorrHisto::m_maxlist
private

Definition at line 50 of file LArStripsCrossTalkCorrector.h.

◆ m_nBins

const unsigned XtalkCorrHisto::m_nBins
private

Definition at line 46 of file LArStripsCrossTalkCorrector.h.


The documentation for this class was generated from the following files: