00001 #ifndef LaserAlignment_LaserClusterizerAlgorithm_h 00002 #define LaserAlignment_LaserClusterizerAlgorithm_h 00003 00012 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00013 #include "FWCore/Framework/interface/ESHandle.h" 00014 00015 #include "DataFormats/Common/interface/DetSetVector.h" 00016 #include "DataFormats/SiStripDigi/interface/SiStripDigi.h" 00017 #include "DataFormats/SiStripCluster/interface/SiStripCluster.h" 00018 #include "DataFormats/LaserAlignment/interface/LASBeamProfileFitCollection.h" 00019 00020 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" 00021 00022 00023 class LaserBeamClusterizer; 00024 00025 class LaserClusterizerAlgorithm 00026 { 00027 public: 00029 LaserClusterizerAlgorithm(const edm::ParameterSet & theConf); 00031 ~LaserClusterizerAlgorithm(); 00032 00034 void run(const edm::DetSetVector<SiStripDigi>& input, const LASBeamProfileFitCollection* beamFit, 00035 edm::DetSetVector<SiStripCluster>& output, const edm::ESHandle<TrackerGeometry>& theTrackerGeometry); 00036 00037 private: 00038 edm::ParameterSet theConfiguration; 00039 LaserBeamClusterizer * theBeamClusterizer; 00040 std::string theClusterMode; 00041 // width of the cluster in sigma's 00042 double theClusterWidth; 00043 bool theValidClusterizer; 00044 }; 00045 #endif