Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:25:46

0001 #ifndef HBHESTATUSBITSETTER_H
0002 #define HBHESTATUSBITSETTER_H 1
0003 
0004 #include "DataFormats/HcalDigi/interface/HBHEDataFrame.h"
0005 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
0006 #include "DataFormats/HcalRecHit/interface/HBHERecHit.h"
0007 #include "CondFormats/HcalObjects/interface/HcalFrontEndMap.h"
0008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0009 #include "DataFormats/METReco/interface/HcalCaloFlagLabels.h"
0010 #include "CalibFormats/HcalObjects/interface/HcalCalibrations.h"
0011 #include "CalibFormats/HcalObjects/interface/HcalCoderDb.h"
0012 #include "Geometry/CaloTopology/interface/HcalTopology.h"
0013 
0014 class HBHEStatusBitSetter {
0015 public:
0016   HBHEStatusBitSetter();
0017   HBHEStatusBitSetter(double nominalPedestal,
0018                       double hitEnergyMinimum,
0019                       int hitMultiplicityThreshold,
0020                       const std::vector<edm::ParameterSet>& pulseShapeParameterSets);
0021   ~HBHEStatusBitSetter();
0022 
0023   void SetFrontEndMap(const HcalFrontEndMap* m);
0024   void Clear();
0025   void SetFlagsFromDigi(HBHERecHit& hbhe,
0026                         const HBHEDataFrame& digi,
0027                         const HcalCoder& coder,
0028                         const HcalCalibrations& calib);
0029   void rememberHit(const HBHERecHit& hbhe);
0030   void SetFlagsFromRecHits(HBHERecHitCollection& rec);
0031 
0032   HBHEStatusBitSetter(const HBHEStatusBitSetter&) = delete;
0033   HBHEStatusBitSetter& operator=(const HBHEStatusBitSetter&) = delete;
0034 
0035 private:
0036   double hitEnergyMinimum_;
0037   int hitMultiplicityThreshold_;
0038   double nominalPedestal_;
0039   const HcalFrontEndMap* frontEndMap_;
0040   std::vector<int> hpdMultiplicity_;
0041   std::vector<std::vector<double> > pulseShapeParameters_;
0042 };
0043 
0044 #endif