00001 #ifndef SIMCALORIMETRY_HCALZEROSUPPRESSIONALGOS_HCALZSALGOENERGY_H 00002 #define SIMCALORIMETRY_HCALZEROSUPPRESSIONALGOS_HCALZSALGOENERGY_H 1 00003 00004 #include "SimCalorimetry/HcalZeroSuppressionAlgos/interface/HcalZeroSuppressionAlgo.h" 00005 #include "CalibFormats/HcalObjects/interface/HcalDbService.h" 00006 00018 class HcalZSAlgoEnergy : public HcalZeroSuppressionAlgo { 00019 public: 00020 HcalZSAlgoEnergy(bool markAndPass, int level, int start, int samples, bool twosided); 00021 void prepare(const HcalDbService* db); 00022 void done(); 00023 protected: 00024 virtual bool shouldKeep(const HBHEDataFrame& digi) const; 00025 virtual bool shouldKeep(const HODataFrame& digi) const; 00026 virtual bool shouldKeep(const HFDataFrame& digi) const; 00027 private: 00028 int threshold_, firstsample_, samplecount_; 00029 bool twosided_; 00030 const HcalDbService* db_; 00031 }; 00032 00033 #endif