00001 #ifndef CalibTracker_SiStripChannelGain_SiStripGainRandomCalculator_h 00002 #define CalibTracker_SiStripChannelGain_SiStripGainRandomCalculator_h 00003 // -*- C++ -*- 00004 // 00005 // Package: SiStripApvGainCalculator 00006 // Class: SiStripApvGainCalculator 00007 // 00015 // 00016 // Original Author: Dorian Kcira, Pierre Rodeghiero 00017 // Created: Mon Nov 20 10:04:31 CET 2006 00018 // $Id: SiStripGainRandomCalculator.h,v 1.1 2007/06/13 14:03:35 gbruno Exp $ 00019 // 00020 // 00021 00022 00023 #include "CommonTools/ConditionDBWriter/interface/ConditionDBWriter.h" 00024 #include "CondFormats/SiStripObjects/interface/SiStripApvGain.h" 00025 #include <vector> 00026 00027 class SiStripGainRandomCalculator : public ConditionDBWriter<SiStripApvGain> { 00028 00029 public: 00030 00031 explicit SiStripGainRandomCalculator(const edm::ParameterSet&); 00032 ~SiStripGainRandomCalculator(); 00033 00034 private: 00035 00036 void algoAnalyze(const edm::Event &, const edm::EventSetup &); 00037 00038 SiStripApvGain * getNewObject(); 00039 00040 private: 00041 00042 double meanGain_; 00043 double sigmaGain_; 00044 double minimumPosValue_; 00045 00046 std::vector< std::pair<uint32_t, unsigned short> > detid_apvs_; 00047 unsigned long long m_cacheID_; 00048 bool printdebug_; 00049 00050 }; 00051 #endif