Go to the documentation of this file.00001 #ifndef SIMCALORIMETRY_HCALZEROSUPPRESSIONALGOS_HCALZSALGOREALISTIC_H
00002 #define SIMCALORIMETRY_HCALZEROSUPPRESSIONALGOS_HCALZSALGOREALISTIC_H 1
00003
00004 #include "HcalZeroSuppressionAlgo.h"
00005
00016 class HcalZSAlgoRealistic : public HcalZeroSuppressionAlgo {
00017 public:
00018 HcalZSAlgoRealistic(bool markAndPass, std::pair<int,int> HBsearchTS, std::pair<int,int> HEsearchTS, std::pair<int,int> HOsearchTS, std::pair<int,int> HFsearchTS);
00019 HcalZSAlgoRealistic(bool markAndPass, int levelHB, int levelHE, int levelHO, int levelHF, std::pair<int,int> HBsearchTS, std::pair<int,int> HEsearchTS, std::pair<int,int> HOsearchTS, std::pair<int,int> HFsearchTS);
00020
00021 protected:
00022 virtual bool shouldKeep(const HBHEDataFrame& digi) const;
00023 virtual bool shouldKeep(const HODataFrame& digi) const;
00024 virtual bool shouldKeep(const HFDataFrame& digi) const;
00025 private:
00026 bool usingDBvalues;
00027 int thresholdHB_, thresholdHE_, thresholdHO_, thresholdHF_;
00028 std::pair<int,int> HBsearchTS_, HEsearchTS_, HOsearchTS_, HFsearchTS_;
00029 bool keepMe(const HBHEDataFrame& inp, int start, int finish, int threshold, uint32_t hbhezsmask) const;
00030 bool keepMe(const HODataFrame& inp, int start, int finish, int threshold, uint32_t hozsmask) const;
00031 bool keepMe(const HFDataFrame& inp, int start, int finish, int threshold, uint32_t hfzsmask) const;
00032 };
00033
00034 #endif