Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-10 02:59:04

0001 #ifndef EcalZeroSuppressionAlgos_TrivialAmplitudeAlgo_h
0002 #define EcalZeroSuppressionAlgos_TrivialAmplitudeAlgo_h
0003 
0004 /*
0005  * \file TrivialAmplitudeAlgo.h
0006  *
0007  * \author F. Cossutti
0008  *
0009  * simple weights algorithm for energy and pedestal reconstruction
0010  *
0011  */
0012 
0013 #include "FWCore/Framework/interface/ESHandle.h"
0014 #include "FWCore/Framework/interface/Event.h"
0015 #include "FWCore/Framework/interface/EventSetup.h"
0016 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0017 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0018 
0019 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
0020 
0021 #include <vector>
0022 
0023 template <class C>
0024 class TrivialAmplitudeAlgo {
0025 public:
0026   explicit TrivialAmplitudeAlgo();
0027   virtual ~TrivialAmplitudeAlgo() {}
0028 
0029   double energy(const C &frame);
0030 
0031   double pedestal(const C &frame);
0032 
0033 private:
0034   std::vector<double> theWeights;
0035   std::vector<double> theGainFactors;
0036 };
0037 
0038 #include "TrivialAmplitudeAlgo.icc"
0039 #endif