![]() |
![]() |
00001 00010 #ifndef __EcalSeverityLevelAlgo_h_ 00011 #define __EcalSeverityLevelAlgo_h_ 00012 00013 #include "FWCore/Framework/interface/Frameworkfwd.h" 00014 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" 00015 #include "CondFormats/EcalObjects/interface/EcalChannelStatus.h" 00016 00017 00018 #include <vector> 00019 00031 class EcalRecHit; 00032 class DetId; 00033 00034 00035 class EcalSeverityLevelAlgo{ 00036 00037 00038 public: 00039 00048 enum EcalSeverityLevel { kGood=0, kProblematic, kRecovered, kTime, kWeird, kBad }; 00049 00050 explicit EcalSeverityLevelAlgo(const edm::ParameterSet& p); 00051 00052 00054 00057 EcalSeverityLevel severityLevel(const DetId& id, 00058 const EcalRecHitCollection& rhs) const; 00059 00060 00062 EcalSeverityLevel severityLevel(const EcalRecHit& rh) const; 00063 00064 00066 void setChannelStatus(const EcalChannelStatus& chs){chStatus_=&chs;} 00067 00068 private: 00069 00070 00072 00075 std::vector<uint32_t> flagMask_; 00076 00077 00079 00082 std::vector<uint32_t> dbstatusMask_; 00083 00084 00086 float timeThresh_; 00087 00088 const EcalChannelStatus * chStatus_; 00089 }; 00090 00091 00092 #endif // __EcalSeverityLevelAlgo_h_ 00093 00094 // Configure (x)emacs for this file ... 00095 // Local Variables: 00096 // mode:c++ 00097 // compile-command: "cd ..; scram b -k" 00098 // End: