12#include <ecl/dataobjects/ECLDigit.h>
13#include <ecl/dataobjects/ECLDsp.h>
14#include <ecl/dataobjects/ECLTrig.h>
15#include <ecl/dbobjects/ECLCrystalCalib.h>
16#include <ecl/dbobjects/ECLDspData.h>
17#include <ecl/mapper/ECLChannelMapper.h>
20#include <framework/core/HistoModule.h>
21#include <framework/database/DBArray.h>
22#include <framework/database/DBObjPtr.h>
23#include <framework/datastore/StoreArray.h>
24#include <framework/datastore/StoreObjPtr.h>
25#include <mdst/dataobjects/TRGSummary.h>
59 virtual void event()
override;
61 virtual void endRun()
override;
215 const short int*
vectorsplit(
const std::vector<short int>&,
int);
225 void emulator(
int,
int, std::vector<int>);
Class for accessing arrays of objects in the database.
Class for accessing objects in the database.
This module is created to monitor ECL electronics logic in frame of DQM system.
TH2F * h_timediff_cellid
Histogram: Time diff.
virtual ~ECLDQMEXTENDEDModule() override
Destructor.
TH1F * h_amptimefail_shaperid
Histogram: ShaperIDs w/ failed amplitudes and times.
int m_TimeData
Signal time from ECL data.
void initDspfromDB()
Get DSP coeffs and auxiliary constants from DB.
TH2F * h_timediff_shaperid
Histogram: Time diff.
TH1F * h_ampfail_crateid
Histogram: CrateIDs w/ failed amplitudes.
TH1F * h_fail_crateid
Histogram: CrateIDs w/ failed logic.
bool m_SaveDetailedFitData
Save detailed fit data for failed fits.
std::vector< short int > v_totalthrA0
Vector to store Low amplitude thresholds.
TH1F * h_timefail_quality
Histogram: Time control flags in bins of QualityData.
bool m_adjusted_timing
Use modified time determination algorithm in emulator, same as in ShaperDSP version >= 1....
int m_AmpFit
Signal amplitude obtaining from DSP emulator.
int m_TrigTime
Trigger time value.
int m_CellId
Cell ID number.
StoreArray< ECLDsp > m_ECLDsps
ECL DSP data.
virtual void initialize() override
Initialize the module.
TH1F * h_timefail_shaperid
Histogram: ShaperIDs w/ failed times.
std::vector< short int > v_totalthrAhard
Vector to store hit thresholds.
int m_QualityData
Quality flag from ECL data.
TH1F * h_qualityfail_shaperid
Histogram: ShaperIDs w/ failed qualities.
virtual void event() override
Event processor.
TH1F * h_fail_shaperid
Histogram: ShaperIDs w/ failed logic.
void emulator(int, int, std::vector< int >)
Call for DSP emulator.
TH2F * h_timediff_quality
Histogram: Time diff.
virtual void endRun() override
Call when a run ends.
TH1F * h_qualityfail_crateid
Histogram: CrateIDs w/ failed qualities.
TH1F * h_amptimefail_crateid
Histogram: CrateIDs w/ failed amplitudes and times.
virtual void terminate() override
Terminate.
int m_AmpData
Signal amplitude from ECL data.
void callbackCalibration(DBObjPtr< ECLCrystalCalib > &, std::vector< short int > &)
Read calibration values for thresholds from DBObject.
std::vector< short int > v_totalthrAskip
Vector to store skip amplitude threshold.
std::map< int, std::map< std::string, std::vector< short int > > > map_container_vec
Map to store DSP coeffs.
std::vector< int > m_skipEvents
Skip events with specified type of timing source (see TRGSummary class, ETimingType enum)
StoreArray< ECLDigit > m_ECLDigits
ECL digits.
DBArray< ECLDspData > m_ECLDspDataArray2
DBArray for payload 'ECLDSPPars2'.
std::vector< TH1F * > h_amp_timefail
Histogram vector: Amplitude for time mismacthes (AmplitudeFit == AmplitudeData) w/ various QualityDat...
TH1F * h_amptimefail_cellid
Histogram: CellIDs w/ failed amplitudes and times.
TH2F * h_ampflag_qualityfail
Histogram: Amp flag (0/1) w/ failed qualities in bins of QualityData.
DBObjPtr< ECLCrystalCalib > m_calibrationThrAhard
Hit threshold.
TH1F * h_timefail_crateid
Histogram: CrateIDs w/ failed times.
const short int * vectorsplit(const std::vector< short int > &, int)
Select from vector of DSP coeffs a subvector corresponding to accurate channel number.
std::string m_InitKey
Key to initialize DSP coeffs.
TH2F * h_quality_fit_data
Histogram: QualityFit vs QualityData for quality fails.
DBObjPtr< ECLCrystalCalib > m_calibrationThrAskip
Skip amplitude threshold.
int conversion(int)
Convert a CellID number to the global Shaper number.
virtual void beginRun() override
Call when a run begins.
std::string m_histogramDirectoryName
Histogram directory in ROOT file.
ECL::ECLChannelMapper mapper
ECL channel mapper.
ECLDQMEXTENDEDModule()
< derived from HistoModule class.
TH2F * h_ampdiff_quality
Histogram: Amp.
DBArray< ECLDspData > m_ECLDspDataArray1
DBArray for payload 'ECLDSPPars1'.
TH1F * h_ampfail_cellid
Histogram: CellIDs w/ failed amplitudes.
TH2F * h_ampdiff_shaperid
Histogram: Amp.
TH1F * h_ampfail_quality
Histogram: Amp.
int m_QualityFit
Quality flag obtaining from DSP emulator.
std::string m_RunName
Run with valid DSP coeffs.
DBArray< ECLDspData > m_ECLDspDataArray0
DBArray for payload 'ECLDSPPars0'.
TH2F * h_ampdiff_cellid
Histogram: Amplitude diff.
TH1F * h_ampfail_shaperid
Histogram: ShaperIDs w/ failed amplitudes.
TH1F * h_timefail_cellid
Histogram: CellIDs w/ failed times.
StoreArray< ECLTrig > m_ECLTrigs
ECL trigger data.
DBObjPtr< ECLCrystalCalib > m_calibrationThrA0
Low amplitude threshold.
TH1F * h_qualityfail_cellid
Histogram: CellIDs w/ failed qualities.
std::map< int, std::map< std::string, short int > > map_container_coef
Map to store auxiliary constants for all shapers.
std::vector< std::vector< TH1F * > > h_amp_qualityfail
Histogram vector: AmplitudeData for quality mismathes w/ various QualityFit (raw) and QualityData (co...
StoreObjPtr< TRGSummary > m_TRGSummary
StoreObjPtr TRGSummary
std::vector< TH1F * > h_time_ampfail
Histogram vector: Time for amplitude mismathces (TimeFit == TimeData) w/ various QualityData values.
std::string m_DSPDirectoryName
Directory name consisting of DSP coeffs.
int m_TimeFit
Signal time obtaining from DSP emulator.
void initDspfromFile()
Get DSP coeffs and auxiliary constants from Files.
TH2F * h_timeflag_qualityfail
Histogram: Time flag (0/1) w/ failed qualities in bins of Quality Data.
TH1F * h_missing_ecldigits
Histogram: Quality flag (from emulator) for the waveforms where fit result (ECLDigit) should have bee...
std::vector< std::vector< TH1F * > > h_time_qualityfail
Histogram vector: TimeData for quality mismacthes w/ various QualitFit (raw) and QualityData (column)...
virtual void defineHisto() override
Function to define histograms.
This object contains ECL DSP coefs – electromagnetic calorimeter digital signal processing coefficien...
This class provides access to ECL channel map that is either a) Loaded from the database (see ecl/dbo...
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...
Accessor to arrays stored in the data store.
Type-safe access to single objects in the data store.
Abstract base class for different kinds of events.