![]() |
![]() |
00001 #ifndef HBHESTATUSBITSETTER_H 00002 #define HBHESTATUSBITSETTER_H 1 00003 00004 00005 #include "DataFormats/HcalDigi/interface/HBHEDataFrame.h" 00006 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" 00007 #include "DataFormats/HcalRecHit/interface/HBHERecHit.h" 00008 #include "CondFormats/HcalObjects/interface/HcalLogicalMap.h" 00009 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00010 #include "RecoLocalCalo/HcalRecAlgos/interface/HcalCaloFlagLabels.h" 00011 #include "CalibFormats/HcalObjects/interface/HcalCalibrations.h" 00012 #include "CalibFormats/HcalObjects/interface/HcalCoderDb.h" 00013 00014 class HBHEStatusBitSetter { 00015 public: 00016 HBHEStatusBitSetter(); 00017 HBHEStatusBitSetter(double nominalPedestal,double hitEnergyMinimum,int hitMultiplicityThreshold,std::vector<edm::ParameterSet> pulseShapeParameterSets, 00018 int firstSample=0, 00019 int samplesToAdd=10); 00020 ~HBHEStatusBitSetter(); 00021 void Clear(); 00022 void SetFlagsFromDigi(HBHERecHit& hbhe, const HBHEDataFrame& digi, const HcalCoder& coder, 00023 const HcalCalibrations& calib); 00024 void SetFlagsFromRecHits(HBHERecHitCollection& rec); 00025 private: 00026 double hitEnergyMinimum_; 00027 int hitMultiplicityThreshold_; 00028 unsigned int firstSample_; 00029 unsigned int samplesToAdd_; 00030 double nominalPedestal_; 00031 HcalLogicalMap *logicalMap_; 00032 std::vector<int> hpdMultiplicity_; 00033 std::vector< std::vector<double> > pulseShapeParameters_; 00034 }; 00035 00036 #endif