10 #include <ecl/modules/eclAutocovarianceCalibrationC3Collector/eclAutocovarianceCalibrationC3Collector.h>
14 #include <framework/dataobjects/EventMetaData.h>
17 #include <ecl/dataobjects/ECLDsp.h>
18 #include <ecl/dbobjects/ECLCrystalCalib.h>
26 REG_MODULE(eclAutocovarianceCalibrationC3Collector);
33 m_ECLAutocovarianceCalibrationC1Threshold(
"ECLAutocovarianceCalibrationC1Threshold"),
34 m_ECLAutocovarianceCalibrationC2Baseline(
"ECLAutocovarianceCalibrationC2Baseline")
37 setDescription(
"Module to compute covarience matrix using waveforms from delayed Bhabha events");
58 B2INFO(
"eclAutocovarianceCalibrationC3Collector: Experiment = " <<
m_evtMetaData->getExperiment() <<
" run = " <<
71 std::vector<float> m_tempArray;
73 const int NumDsp =
m_eclDsps.getEntries();
80 const int id = aECLDsp.getCellId() - 1;
83 float PeakToPeak = (float) aECLDsp.computePeaktoPeakAmp();
91 for (
int i = 0; i <
m_nADCWaveformPoints; i++) m_tempArray.push_back(aECLDsp.getDspA()[i] - baseline);
107 float value_i = m_tempArray[i];
111 int tempIndex = abs(i - j);
Calibration collector module base class.
void setDescription(const std::string &description)
Sets the description of the module.
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
StoreArray< ECLDsp > m_eclDsps
Required input array of ECLDSPs.
void startRun() override
Load run-dep payloads.
float m_CovarianceMatrixInfoVsCrysIDHistogram[ECLElementNumbers::c_NCrystals][m_nADCWaveformPoints+1]
container for coveriance matrix
TH2F * CovarianceMatrixInfoVsCrysID
result returned by collector that contains the coveriance matrix for each crystal
std::vector< float > m_Baselines
vector of thresholds obtained from DB object
DBObjPtr< ECLCrystalCalib > m_ECLAutocovarianceCalibrationC1Threshold
thresholds obtained from C1 stage
void collect() override
Select events and crystals and accumulate histograms.
StoreObjPtr< EventMetaData > m_evtMetaData
dataStore EventMetaData
std::vector< float > m_PeakToPeakThresholds
vector of thresholds obtained from DB object
void closeRun() override
Transfer fom array container to ROOT histogram.
void prepare() override
Define histograms and read payloads from DB.
DBObjPtr< ECLCrystalCalib > m_ECLAutocovarianceCalibrationC2Baseline
baselines obtained from C2 stage
static constexpr int m_nADCWaveformPoints
length of ECLDSP waveforms
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
const int c_NCrystals
Number of crystals.
Abstract base class for different kinds of events.