9 template <
class DataFrame>
10 bool check(
const DataFrame& df,
bool capcheck,
bool dvercheck) {
11 if (capcheck || dvercheck) {
12 int lastcapid=0, capid=0;
13 for (
int i=0;
i<df.size();
i++) {
15 if (capcheck &&
i!=0 && ((lastcapid+1)%4)!=capid)
17 if (dvercheck && ( df[
i].er() || !df[
i].dv() ))
27 if (linkerrcheck && df.linkError())
return false;
29 for (
int i=0;
i<df.samples();
i++) {
30 if (!df[
i].
ok())
return false;
38 if (linkerrcheck && df.linkError())
return false;
39 if (capcheck && df.capidError())
return false;
44 template <
class DataFrame>
47 for (
int i=fs;
i<=ls &&
i<=df.size(); i++)
48 es+=df[i].nominal_fC();
54 const HcalQIECoder* channelCoder = conditions->getHcalCoder(df.id());
55 const HcalQIEShape* shape = conditions->getHcalShape(channelCoder);
60 for (
int i=fs;
i<=ls &&
i<=(
int)df.samples(); i++)
69 requireCapid_(requireCapid), requireDVER_(requireDVER), energyFilter_(energyFilter),
70 firstSample_(firstSample), lastSample_(lastSample), minimumAmplitude_(minAmpl), conditions_(
nullptr) {
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
bool check< QIE11DataFrame >(const QIE11DataFrame &df, bool capcheck, bool linkerrcheck)
bool check< QIE10DataFrame >(const QIE10DataFrame &df, bool capcheck, bool linkerrcheck)
std::vector< T >::const_iterator const_iterator
void push_back(T const &t)
bool check(const DataFrame &df, bool capcheck, bool dvercheck)
double energySum< QIE11DataFrame >(const QIE11DataFrame &df, int fs, int ls, const HcalDbService *conditions)
double energySum(const DataFrame &df, int fs, int ls, const HcalDbService *conditions=0)
const_iterator begin() const
void countBadQualityDigi()
void adc2fC(const HBHEDataFrame &df, CaloSamples &lf) const override
const_iterator end() const
bool active() const
whether any filters are on
const_iterator end() const
void setConditions(const HcalDbService *conditions)
get conditions
HBHEDigiCollection filter(const HBHEDigiCollection &incol, HcalUnpackerReport &r)
filter HB/HE data frames
HcalDataFrameFilter(bool requireCapid, bool requireDVER, bool energyFilter, int firstSample=-1, int lastSample=-1, double minAmpl=-1)
const HcalDbService * conditions_
const_iterator begin() const