CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/SimCalorimetry/HcalZeroSuppressionProducers/src/HcalZSAlgoRealistic.h

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