00001 #ifndef ClusterizerFP420_h 00002 #define ClusterizerFP420_h 00003 00004 #include "FWCore/Framework/interface/EDProducer.h" 00005 #include "FWCore/Framework/interface/Event.h" 00006 #include "DataFormats/Common/interface/Handle.h" 00007 #include "FWCore/Framework/interface/EventSetup.h" 00008 00009 #include "DataFormats/Common/interface/EDProduct.h" 00010 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00011 00012 //#include "SimG4Core/Watcher/interface/SimWatcher.h" 00013 00014 #include "RecoRomanPot/RecoFP420/interface/FP420ClusterMain.h" 00015 #include "RecoRomanPot/RecoFP420/interface/ClusterNoiseFP420.h" 00016 00017 #include "DataFormats/FP420Digi/interface/DigiCollectionFP420.h" 00018 00019 #include "DataFormats/FP420Cluster/interface/ClusterFP420.h" 00020 #include "DataFormats/FP420Cluster/interface/ClusterCollectionFP420.h" 00021 00022 #include <CLHEP/Vector/ThreeVector.h> 00023 #include <string> 00024 #include<vector> 00025 #include<map> 00026 #include<iostream> 00027 using namespace std; 00028 00029 00030 00031 namespace cms 00032 { 00033 class ClusterizerFP420: public edm::EDProducer 00034 { 00035 public: 00036 00037 explicit ClusterizerFP420(const edm::ParameterSet& conf); 00038 00039 virtual ~ClusterizerFP420(); 00040 00041 virtual void beginJob(); 00042 00043 // virtual void produce(DigiCollectionFP420*, ClusterCollectionFP420 &); 00044 // virtual void produce(DigiCollectionFP420 &, ClusterCollectionFP420 &); 00045 00046 virtual void produce(edm::Event& e, const edm::EventSetup& c); 00047 00048 private: 00049 typedef std::vector<std::string> vstring; 00050 00051 00052 00053 00054 edm::ParameterSet conf_; 00055 vstring trackerContainers; 00056 00057 FP420ClusterMain* sClusterizerFP420_; 00058 00059 ClusterCollectionFP420* soutput; 00060 00061 00062 std::vector<ClusterNoiseFP420> noise; 00063 bool UseNoiseBadElectrodeFlagFromDB_; 00064 int sn0, pn0, dn0; 00065 int verbosity; 00066 }; 00067 } 00068 #endif