Go to the documentation of this file.00001 #ifndef EcalZeroSuppressionAlgos_EcalZeroSuppressor_h
00002 #define EcalZeroSuppressionAlgos_EcalZeroSuppressor_h
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include "FWCore/Framework/interface/EDProducer.h"
00014 #include "FWCore/Framework/interface/Event.h"
00015 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00016 #include "FWCore/Framework/interface/ESHandle.h"
00017 #include "FWCore/Framework/interface/EventSetup.h"
00018 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00019
00020 #include "CondFormats/DataRecord/interface/EcalPedestalsRcd.h"
00021 #include "CondFormats/EcalObjects/interface/EcalPedestals.h"
00022 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
00023 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
00024 #include "DataFormats/EcalDetId/interface/EcalSubdetector.h"
00025
00026 #include "SimCalorimetry/EcalZeroSuppressionAlgos/interface/TrivialAmplitudeAlgo.h"
00027
00028 #include <vector>
00029
00030 template<class C> class EcalZeroSuppressor
00031 {
00032 public:
00033
00034 virtual ~EcalZeroSuppressor(){};
00035
00036
00037
00038
00039 bool accept(const C& frame, const double & threshold);
00040
00042 void setPedestals(const EcalPedestals * pedestals) {thePedestals = pedestals;}
00043
00044 private:
00045
00046 const EcalPedestals * thePedestals;
00047
00048 void findGain12Pedestal(const DetId & detId,
00049 double & pedestal, double & width);
00050
00051 TrivialAmplitudeAlgo<C> theEnergy_;
00052
00053 };
00054
00055 #include "EcalZeroSuppressor.icc"
00056 #endif