CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
HcalDataFrameFilter Class Reference

#include <HcalDataFrameFilter.h>

Public Member Functions

bool active () const
 whether any filters are on More...
 
HBHEDigiCollection filter (const HBHEDigiCollection &incol, HcalUnpackerReport &r)
 filter HB/HE data frames More...
 
HFDigiCollection filter (const HFDigiCollection &incol, HcalUnpackerReport &r)
 filter HF data frames More...
 
HODigiCollection filter (const HODigiCollection &incol, HcalUnpackerReport &r)
 filter HO data frames More...
 
HcalCalibDigiCollection filter (const HcalCalibDigiCollection &incol, HcalUnpackerReport &r)
 filter HO data frames More...
 
ZDCDigiCollection filter (const ZDCDigiCollection &incol, HcalUnpackerReport &r)
 filter ZDC data frames More...
 
QIE10DigiCollection filter (const QIE10DigiCollection &incol, HcalUnpackerReport &r)
 filter QIE10 data frames More...
 
QIE11DigiCollection filter (const QIE11DigiCollection &incol, HcalUnpackerReport &r)
 filter QIE11 data frames More...
 
 HcalDataFrameFilter (bool requireCapid, bool requireDVER, bool energyFilter, int firstSample=-1, int lastSample=-1, double minAmpl=-1)
 
void setConditions (const HcalDbService *conditions)
 get conditions More...
 

Private Attributes

const HcalDbServiceconditions_
 
bool energyFilter_
 
int firstSample_
 
int lastSample_
 
double minimumAmplitude_
 
bool requireCapid_
 
bool requireDVER_
 

Detailed Description

Utility algorithm for filtering out digis from testbeam, etc where no zero-suppression was applied. The digis can be required to have correct form (capid rotation, error bit off, data-valid bit on). It can also be filtered by simple amplitude requirements. As these are applied in units proportional to energy, rather than transverse energy, and no calibration is applied, care should be used.

Author
J. Mans - Minnesota

Definition at line 19 of file HcalDataFrameFilter.h.

Constructor & Destructor Documentation

HcalDataFrameFilter::HcalDataFrameFilter ( bool  requireCapid,
bool  requireDVER,
bool  energyFilter,
int  firstSample = -1,
int  lastSample = -1,
double  minAmpl = -1 
)

Member Function Documentation

bool HcalDataFrameFilter::active ( void  ) const

whether any filters are on

Definition at line 161 of file HcalDataFrameFilter.cc.

References energyFilter_, requireCapid_, and requireDVER_.

Referenced by HcalRawToDigi::produce().

HBHEDigiCollection HcalDataFrameFilter::filter ( const HBHEDigiCollection incol,
HcalUnpackerReport r 
)

filter HB/HE data frames

Definition at line 77 of file HcalDataFrameFilter.cc.

References edm::SortedCollection< T, SORT >::begin(), HcalDataFrameFilter_impl::check(), HcalUnpackerReport::countBadQualityDigi(), edm::SortedCollection< T, SORT >::end(), energyFilter_, HcalDataFrameFilter_impl::energySum(), firstSample_, mps_fire::i, lastSample_, minimumAmplitude_, convertSQLitetoXML_cfg::output, edm::SortedCollection< T, SORT >::push_back(), requireCapid_, and requireDVER_.

Referenced by Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::filter(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::find(), HcalRawToDigi::produce(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::setDataAccessor(), and Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::switchCenterView().

77  {
79  for (HBHEDigiCollection::const_iterator i=incol.begin(); i!=incol.end(); i++) {
81  r.countBadQualityDigi(i->id());
83  output.push_back(*i);
84  }
85  return output;
86 }
std::vector< T >::const_iterator const_iterator
void push_back(T const &t)
bool check(const DataFrame &df, bool capcheck, bool dvercheck)
double energySum(const DataFrame &df, int fs, int ls, const HcalDbService *conditions=0)
const_iterator end() const
const_iterator begin() const
HFDigiCollection HcalDataFrameFilter::filter ( const HFDigiCollection incol,
HcalUnpackerReport r 
)

filter HF data frames

Definition at line 113 of file HcalDataFrameFilter.cc.

References edm::SortedCollection< T, SORT >::begin(), HcalDataFrameFilter_impl::check(), HcalUnpackerReport::countBadQualityDigi(), edm::SortedCollection< T, SORT >::end(), energyFilter_, HcalDataFrameFilter_impl::energySum(), firstSample_, mps_fire::i, lastSample_, minimumAmplitude_, convertSQLitetoXML_cfg::output, edm::SortedCollection< T, SORT >::push_back(), requireCapid_, and requireDVER_.

Referenced by Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::filter(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::find(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::setDataAccessor(), and Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::switchCenterView().

113  {
115  for (HFDigiCollection::const_iterator i=incol.begin(); i!=incol.end(); i++) {
117  r.countBadQualityDigi(i->id());
119  output.push_back(*i);
120  }
121  return output;
122 }
std::vector< T >::const_iterator const_iterator
void push_back(T const &t)
bool check(const DataFrame &df, bool capcheck, bool dvercheck)
double energySum(const DataFrame &df, int fs, int ls, const HcalDbService *conditions=0)
const_iterator end() const
const_iterator begin() const
HODigiCollection HcalDataFrameFilter::filter ( const HODigiCollection incol,
HcalUnpackerReport r 
)

filter HO data frames

Definition at line 89 of file HcalDataFrameFilter.cc.

References edm::SortedCollection< T, SORT >::begin(), HcalDataFrameFilter_impl::check(), HcalUnpackerReport::countBadQualityDigi(), edm::SortedCollection< T, SORT >::end(), energyFilter_, HcalDataFrameFilter_impl::energySum(), firstSample_, mps_fire::i, lastSample_, minimumAmplitude_, convertSQLitetoXML_cfg::output, edm::SortedCollection< T, SORT >::push_back(), requireCapid_, and requireDVER_.

Referenced by Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::filter(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::find(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::setDataAccessor(), and Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::switchCenterView().

89  {
91  for (HODigiCollection::const_iterator i=incol.begin(); i!=incol.end(); i++) {
93  r.countBadQualityDigi(i->id());
95  output.push_back(*i);
96 
97  }
98  return output;
99 }
std::vector< T >::const_iterator const_iterator
void push_back(T const &t)
bool check(const DataFrame &df, bool capcheck, bool dvercheck)
double energySum(const DataFrame &df, int fs, int ls, const HcalDbService *conditions=0)
const_iterator end() const
const_iterator begin() const
HcalCalibDigiCollection HcalDataFrameFilter::filter ( const HcalCalibDigiCollection incol,
HcalUnpackerReport r 
)

filter HO data frames

Definition at line 101 of file HcalDataFrameFilter.cc.

References edm::SortedCollection< T, SORT >::begin(), HcalDataFrameFilter_impl::check(), HcalUnpackerReport::countBadQualityDigi(), edm::SortedCollection< T, SORT >::end(), energyFilter_, HcalDataFrameFilter_impl::energySum(), firstSample_, mps_fire::i, lastSample_, minimumAmplitude_, convertSQLitetoXML_cfg::output, edm::SortedCollection< T, SORT >::push_back(), requireCapid_, and requireDVER_.

Referenced by Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::filter(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::find(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::setDataAccessor(), and Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::switchCenterView().

101  {
103  for (HcalCalibDigiCollection::const_iterator i=incol.begin(); i!=incol.end(); i++) {
105  r.countBadQualityDigi(i->id());
107  output.push_back(*i);
108 
109  }
110  return output;
111 }
std::vector< T >::const_iterator const_iterator
void push_back(T const &t)
bool check(const DataFrame &df, bool capcheck, bool dvercheck)
double energySum(const DataFrame &df, int fs, int ls, const HcalDbService *conditions=0)
const_iterator end() const
const_iterator begin() const
ZDCDigiCollection HcalDataFrameFilter::filter ( const ZDCDigiCollection incol,
HcalUnpackerReport r 
)

filter ZDC data frames

Definition at line 124 of file HcalDataFrameFilter.cc.

References edm::SortedCollection< T, SORT >::begin(), HcalDataFrameFilter_impl::check(), HcalUnpackerReport::countBadQualityDigi(), edm::SortedCollection< T, SORT >::end(), energyFilter_, HcalDataFrameFilter_impl::energySum(), firstSample_, mps_fire::i, lastSample_, minimumAmplitude_, convertSQLitetoXML_cfg::output, edm::SortedCollection< T, SORT >::push_back(), requireCapid_, and requireDVER_.

Referenced by Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::filter(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::find(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::setDataAccessor(), and Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::switchCenterView().

124  {
126  for (ZDCDigiCollection::const_iterator i=incol.begin(); i!=incol.end(); i++) {
128  r.countBadQualityDigi(i->id());
130  output.push_back(*i);
131  }
132  return output;
133 }
std::vector< T >::const_iterator const_iterator
void push_back(T const &t)
bool check(const DataFrame &df, bool capcheck, bool dvercheck)
double energySum(const DataFrame &df, int fs, int ls, const HcalDbService *conditions=0)
const_iterator end() const
const_iterator begin() const
QIE10DigiCollection HcalDataFrameFilter::filter ( const QIE10DigiCollection incol,
HcalUnpackerReport r 
)

filter QIE10 data frames

Definition at line 135 of file HcalDataFrameFilter.cc.

References edm::DataFrameContainer::begin(), HcalDataFrameFilter_impl::check(), HcalUnpackerReport::countBadQualityDigi(), edm::DataFrameContainer::end(), mps_fire::i, convertSQLitetoXML_cfg::output, requireCapid_, requireDVER_, and HcalDataFrameContainer< Digi >::samples().

Referenced by Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::filter(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::find(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::setDataAccessor(), and Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::switchCenterView().

135  {
137  for (QIE10DigiCollection::const_iterator i=incol.begin(); i!=incol.end(); i++) {
138  QIE10DataFrame df(*i);
140  r.countBadQualityDigi(i->id());
141  // Never exclude QIE10 digis as their absence would be
142  // treated as a digi with zero charged deposited in that channel
143  output.push_back(df);
144  }
145  return output;
146 }
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
bool check(const DataFrame &df, bool capcheck, bool dvercheck)
const_iterator begin() const
const_iterator end() const
QIE11DigiCollection HcalDataFrameFilter::filter ( const QIE11DigiCollection incol,
HcalUnpackerReport r 
)

filter QIE11 data frames

Definition at line 148 of file HcalDataFrameFilter.cc.

References edm::DataFrameContainer::begin(), HcalDataFrameFilter_impl::check(), conditions_, HcalUnpackerReport::countBadQualityDigi(), edm::DataFrameContainer::end(), energyFilter_, HcalDataFrameFilter_impl::energySum(), firstSample_, mps_fire::i, lastSample_, minimumAmplitude_, convertSQLitetoXML_cfg::output, requireCapid_, requireDVER_, and HcalDataFrameContainer< Digi >::samples().

Referenced by Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::filter(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::find(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::setDataAccessor(), and Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::switchCenterView().

148  {
150  for (QIE11DigiCollection::const_iterator i=incol.begin(); i!=incol.end(); i++) {
151  QIE11DataFrame df(*i);
153  r.countBadQualityDigi(i->id());
155  output.push_back(df);
156  }
157  return output;
158 }
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
bool check(const DataFrame &df, bool capcheck, bool dvercheck)
double energySum(const DataFrame &df, int fs, int ls, const HcalDbService *conditions=0)
const_iterator begin() const
const_iterator end() const
const HcalDbService * conditions_
void HcalDataFrameFilter::setConditions ( const HcalDbService conditions)

get conditions

Definition at line 73 of file HcalDataFrameFilter.cc.

References conditions_.

Referenced by HcalRawToDigi::produce().

73  {
74  conditions_ = conditions;
75 }
const HcalDbService * conditions_

Member Data Documentation

const HcalDbService* HcalDataFrameFilter::conditions_
private

Definition at line 46 of file HcalDataFrameFilter.h.

Referenced by filter(), and setConditions().

bool HcalDataFrameFilter::energyFilter_
private

Definition at line 43 of file HcalDataFrameFilter.h.

Referenced by active(), and filter().

int HcalDataFrameFilter::firstSample_
private

Definition at line 44 of file HcalDataFrameFilter.h.

Referenced by filter().

int HcalDataFrameFilter::lastSample_
private

Definition at line 44 of file HcalDataFrameFilter.h.

Referenced by filter().

double HcalDataFrameFilter::minimumAmplitude_
private

Definition at line 45 of file HcalDataFrameFilter.h.

Referenced by filter().

bool HcalDataFrameFilter::requireCapid_
private

Definition at line 41 of file HcalDataFrameFilter.h.

Referenced by active(), and filter().

bool HcalDataFrameFilter::requireDVER_
private

Definition at line 42 of file HcalDataFrameFilter.h.

Referenced by active(), and filter().