CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/RecoLocalCalo/HcalRecAlgos/interface/HcalHF_S9S1algorithm.h

Go to the documentation of this file.
00001 #ifndef GUARD_HCALHF_S9S1ALGORITHM_H
00002 #define GUARD_HCALHF_S9S1ALGORITHM_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 // Forward declarations
00009 class HcalChannelQuality;
00010 class HcalSeverityLevelComputer;
00011 
00024 class HcalHF_S9S1algorithm {
00025  public:
00027   HcalHF_S9S1algorithm();
00028   
00029   HcalHF_S9S1algorithm(std::vector<double> short_optimumSlope, 
00030                        std::vector<double> short_Energy, 
00031                        std::vector<double> short_ET, 
00032                        std::vector<double> long_optimumSlope, 
00033                        std::vector<double> long_Energy, 
00034                        std::vector<double> long_ET,
00035                        int HcalAcceptSeverityLevel,
00036                        bool isS8S1);
00037 
00038   // Destructor
00039   ~HcalHF_S9S1algorithm();
00040 
00041   void HFSetFlagFromS9S1(HFRecHit& hf,
00042                         HFRecHitCollection& rec,
00043                         HcalChannelQuality* myqual,
00044                         const HcalSeverityLevelComputer* mySeverity);
00045   double CalcSlope(int abs_ieta, std::vector<double> params);
00046   double CalcEnergyThreshold(double abs_energy,std::vector<double> params);
00047 
00048   double bit(){return HcalCaloFlagLabels::HFLongShort;}
00049 
00050  private:
00051 
00052   std::vector<double> short_ET_;
00053   std::vector<double> short_Energy_; 
00054   std::vector<double> long_ET_;
00055   std::vector<double> long_Energy_;
00056 
00057   std::vector<double> LongSlopes;
00058   std::vector<double> ShortSlopes;
00059   std::vector<double> LongEnergyThreshold;
00060   std::vector<double> ShortEnergyThreshold;
00061   std::vector<double> LongETThreshold;
00062   std::vector<double> ShortETThreshold;
00063   int HcalAcceptSeverityLevel_;
00064   bool isS8S1_;
00065 };
00066 
00067 
00068 #endif