1 #ifndef RAWDIGITCHARACTERIZATIONALG_H
2 #define RAWDIGITCHARACTERIZATIONALG_H
27 #include "fhiclcpp/ParameterSet.h"
29 #include "art/Framework/Services/Registry/ServiceHandle.h"
30 #include "art_root_io/TFileService.h"
41 #include "TProfile2D.h"
73 float& truncRms)
const;
82 float& pedCorVal)
const;
98 float& pedCorVal)
const;
101 unsigned int viewIdx,
110 template<
class T> T
getMedian(std::vector<T>&, T)
const;
std::vector< float > fRmsSelectionCut
Don't use/apply correction to wires below this.
T getMedian(std::vector< T > &, T) const
RawDigitCharacterizationAlg(fhicl::ParameterSet const &pset)
std::vector< short > fMinMaxSelectionCut
Plane by plane cuts for spread cut.
void getMeanRmsAndPedCor(const RawDigitVector &rawWaveform, unsigned int channel, unsigned int view, unsigned int wire, float &aveVal, float &rmsVal, float &pedCorVal) const
void getMeanAndRms(const RawDigitVector &rawWaveform, float &aveVal, float &rmsVal, int &numBins) const
double fMaxPedestalDiff
Max pedestal diff to db to warn.
bool classifyRawDigitVec(RawDigitVector &rawWaveform, unsigned int viewIdx, unsigned int wire, float truncRms, short minMax, short mean, float skewness, float neighborRatio, GroupToDigitIdxPairMap &groupToDigitIdxPairMap) const
bool fFillHistograms
if true then will fill diagnostic hists
TProfile * fRmsValProf[3]
raw::RawDigit::ADCvector_t RawDigitVector
void getMeanAndTruncRms(const RawDigitVector &rawWaveform, float &aveVal, float &rmsVal, float &rmsTrunc, int &numBins) const
caldata::ChannelGroups fChannelGroups
std::vector< TProfile * > fSkewnessProfiles
art::ServiceHandle< geo::Geometry > fGeometry
Detector properties service.
unsigned int fTheChosenWire
For example hist.
std::map< size_t, RawDigitAdcIdxPair > GroupToDigitIdxPairMap
std::vector< TProfile * > fModeRatioProfiles
TProfile * fMinMaxValProf[3]
std::vector< float > fRmsRejectionCutLow
Minimum rms to consider channel "alive".
TProfile * fPedValProf[3]
void reconfigure(fhicl::ParameterSet const &pset)
const lariov::DetPedestalProvider & fPedestalRetrievalAlg
Keep track of an instance to the pedestal retrieval alg.
std::vector< TProfile * > fMinMaxProfiles
void getTruncatedRMS(const RawDigitVector &rawWaveform, float &pedestal, float &truncRms) const
double mean(const std::vector< short > &wf, size_t start, size_t nsample)
~RawDigitCharacterizationAlg()
Destructor.
std::vector< size_t > fNumWiresToGroup
If smoothing, the number of wires to look at.
std::vector< float > fRmsRejectionCutHi
Maximum rms for input channels, reject if larger.
std::vector< size_t > fHistsWireGroup
Wire Group to pick on.
void initializeHists(art::ServiceHandle< art::TFileService > &)
Begin job method.
void getWaveformParams(const RawDigitVector &rawWaveform, unsigned int channel, unsigned int view, unsigned int wire, float &truncMean, float &truncRms, short &mean, short &median, short &mode, float &skewness, float &rms, short &minMax, float &neighborRatio, float &pedCorVal) const
process_name can override from command line with o or output caldata
float fTruncMeanFraction
Fraction for truncated mean.
art framework interface to geometry description