File indexing completed on 2024-04-06 12:10:41
0001 #ifndef HCALDATAFRAMEFILTER_H
0002 #define HCALDATAFRAMEFILTER_H 1
0003
0004 #include "DataFormats/HcalDigi/interface/HcalDigiCollections.h"
0005 #include "DataFormats/HcalDigi/interface/HcalUnpackerReport.h"
0006 #include "CalibFormats/HcalObjects/interface/HcalDbService.h"
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 class HcalDataFrameFilter {
0020 public:
0021 HcalDataFrameFilter(bool requireCapid,
0022 bool requireDVER,
0023 bool energyFilter,
0024 int firstSample = -1,
0025 int lastSample = -1,
0026 double minAmpl = -1);
0027
0028 HBHEDigiCollection filter(const HBHEDigiCollection& incol, HcalUnpackerReport& r);
0029
0030 HFDigiCollection filter(const HFDigiCollection& incol, HcalUnpackerReport& r);
0031
0032 HODigiCollection filter(const HODigiCollection& incol, HcalUnpackerReport& r);
0033
0034 HcalCalibDigiCollection filter(const HcalCalibDigiCollection& incol, HcalUnpackerReport& r);
0035
0036 ZDCDigiCollection filter(const ZDCDigiCollection& incol, HcalUnpackerReport& r);
0037
0038 QIE10DigiCollection filter(const QIE10DigiCollection& incol, HcalUnpackerReport& r);
0039
0040 QIE11DigiCollection filter(const QIE11DigiCollection& incol, HcalUnpackerReport& r);
0041
0042 bool active() const;
0043
0044 void setConditions(const HcalDbService* conditions);
0045
0046 private:
0047 bool requireCapid_;
0048 bool requireDVER_;
0049 bool energyFilter_;
0050 int firstSample_, lastSample_;
0051 double minimumAmplitude_;
0052 const HcalDbService* conditions_;
0053 };
0054
0055 #endif