Go to the documentation of this file.00001 #ifndef GUARD_HCALHF_PETALGORITHM_H
00002 #define GUARD_HCALHF_PETALGORITHM_H 1
00003
00004 #include "DataFormats/HcalRecHit/interface/HFRecHit.h"
00005 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
00006 #include "RecoLocalCalo/HcalRecAlgos/interface/HcalCaloFlagLabels.h"
00007
00008
00009 class HcalChannelQuality;
00010 class HcalSeverityLevelComputer;
00011
00024 class HcalHF_PETalgorithm {
00025 public:
00027 HcalHF_PETalgorithm();
00028
00029 HcalHF_PETalgorithm(std::vector<double> short_R,
00030 std::vector<double> short_Energy,
00031 std::vector<double> short_ET,
00032 std::vector<double> long_R,
00033 std::vector<double> long_Energy,
00034 std::vector<double> long_ET,
00035 int HcalAcceptSeverityLevel,
00036
00037 std::vector<double> short_R_29,
00038 std::vector<double> long_R_29);
00039
00040
00041 ~HcalHF_PETalgorithm();
00042
00043 void HFSetFlagFromPET(HFRecHit& hf,
00044 HFRecHitCollection& rec,
00045 HcalChannelQuality* myqual,
00046 const HcalSeverityLevelComputer* mySeverity);
00047 double CalcThreshold(double abs_energy,std::vector<double> params);
00048
00049 void SetShort_R(std::vector<double> x){short_R=x;}
00050 void SetShort_ET_Thresh(std::vector<double> x){short_ET_Thresh=x;}
00051 void SetShort_Energy_Thresh(std::vector<double> x){short_Energy_Thresh=x;}
00052 void SetLong_R(std::vector<double> x){long_R=x;}
00053 void SetLong_ET_Thresh(std::vector<double> x){long_ET_Thresh=x;}
00054 void SetLong_Energy_Thresh(std::vector<double> x){long_Energy_Thresh=x;}
00055
00056 std::vector<double> GetShort_R(){return short_R;}
00057 std::vector<double> GetShort_ET_Thresh(){return short_ET_Thresh;}
00058 std::vector<double> GetShort_Energy_Thresh(){return short_Energy_Thresh;}
00059 std::vector<double> GetLong_R(){return long_R;}
00060 std::vector<double> GetLong_ET_Thresh(){return long_ET_Thresh;}
00061 std::vector<double> GetLong_Energy_Thresh(){return long_Energy_Thresh;}
00062
00063 double bit(){return HcalCaloFlagLabels::HFLongShort;}
00064
00065 private:
00066 std::vector<double> short_R;
00067 std::vector<double> short_ET_Thresh;
00068 std::vector<double> short_Energy_Thresh;
00069
00070 std::vector<double> long_R;
00071 std::vector<double> long_ET_Thresh;
00072 std::vector<double> long_Energy_Thresh;
00073 int HcalAcceptSeverityLevel_;
00074 std::vector<double> short_R_29;
00075 std::vector<double> long_R_29;
00076 };
00077
00078
00079 #endif