00001 #ifndef LINEARCALIBRATION_H_ 00002 #define LINEARCALIBRATION_H_ 00003 00004 #include "RecoParticleFlow/PFClusterTools/interface/Calibration.h" 00005 #include "RecoParticleFlow/PFClusterTools/interface/CalibrationTarget.h" 00006 #include "RecoParticleFlow/PFClusterTools/interface/CalibrationResultWrapper.h" 00007 #include <iostream> 00008 00009 namespace pftools { 00010 class LinearCalibration : public pftools::Calibration { 00011 public: 00012 /* If a == 0, no offset element is included 00013 * If b_ == 0, it's HCAL only 00014 * If c_ == 0, it's ECAL only 00015 */ 00016 double a_, b_, c_; 00017 00018 LinearCalibration(); 00019 LinearCalibration(CalibrationTarget t, double b, double c); 00020 LinearCalibration(CalibrationTarget t, double a, double b, double c); 00021 00022 00023 00024 virtual ~LinearCalibration(); 00025 protected: 00026 virtual void calibrateCore(const CalibrationResultWrapper& crwInput, 00027 CalibrationResultWrapper& crwOutput); 00028 00029 00030 }; 00031 00032 std::ostream& operator<<(std::ostream& s, const LinearCalibration& lc); 00033 00034 } 00035 00036 #endif /*LINEARCALIBRATION_H_*/