CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CastorDataFrameFilter.cc
Go to the documentation of this file.
2 
3 namespace CastorDataFrameFilter_impl {
4 
5  template <class DataFrame>
6  bool check(const DataFrame& df, bool capcheck, bool dvercheck) {
7  if (capcheck || dvercheck) {
8  int lastcapid=0, capid=0;
9  for (int i=0; i<df.size(); i++) {
10  capid=df[i].capid();
11  if (capcheck && i!=0 && ((lastcapid+1)%4)!=capid)
12  return false;
13  if (dvercheck && ( df[i].er() || !df[i].dv() ))
14  return false;
15  lastcapid=capid;
16  }
17  }
18  return true;
19  }
20 
21  template <class DataFrame>
22  double energySum(const DataFrame& df, int fs, int ls) {
23  double es=0;
24  for (int i=fs; i<=ls && i<=df.size(); i++)
25  es+=df[i].nominal_fC();
26  return es;
27  }
28 
29 }
30 
31 
32 CastorDataFrameFilter::CastorDataFrameFilter(bool requireCapid, bool requireDVER, bool energyFilter, int firstSample, int lastSample, double minAmpl) :
33  requireCapid_(requireCapid), requireDVER_(requireDVER), energyFilter_(energyFilter),
34  firstSample_(firstSample), lastSample_(lastSample), minimumAmplitude_(minAmpl) {
35 }
36 
39  for (CastorDigiCollection::const_iterator i=incol.begin(); i!=incol.end(); i++) {
43  output.push_back(*i);
44  }
45  return output;
46 }
47 
50 }
51 
int i
Definition: DBlmapReader.cc:9
CastorDigiCollection filter(const CastorDigiCollection &incol, HcalUnpackerReport &r)
filter Castor data frames
def ls
Definition: eostools.py:348
std::vector< CastorDataFrame >::const_iterator const_iterator
void push_back(T const &t)
bool check(const DataFrame &df, bool capcheck, bool dvercheck)
bool active() const
whether any filters are on
CastorDataFrameFilter(bool requireCapid, bool requireDVER, bool energyFilter, int firstSample=-1, int lastSample=-1, double minAmpl=-1)
const_iterator end() const
double energySum(const DataFrame &df, int fs, int ls)
const_iterator begin() const