![]() |
![]() |
00001 00008 // 00009 // Original Author: Vladimir Litvine 00010 00011 00012 // system include files 00013 #include <memory> 00014 00015 // user include files 00016 #include "FWCore/Framework/interface/Frameworkfwd.h" 00017 #include "FWCore/Framework/interface/EDProducer.h" 00018 00019 #include "FWCore/Framework/interface/Event.h" 00020 #include "FWCore/Framework/interface/MakerMacros.h" 00021 00022 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00023 #include "DataFormats/EcalRecHit/interface/EcalRecHit.h" 00024 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" 00025 00026 //#include "TrackingTools/TrackAssociator/interface/TimerStack.h" 00027 #include "Utilities/Timing/interface/TimerStack.h" 00028 00029 // 00030 // class declaration 00031 // 00032 00033 typedef std::map<DetId, EcalRecHit> RecHitsMap; 00034 00035 // Less than operator for sorting EcalRecHits according to energy. 00036 class ecalRecHitLess : public std::binary_function<EcalRecHit, EcalRecHit, bool> 00037 { 00038 public: 00039 bool operator()(EcalRecHit x, EcalRecHit y) 00040 { 00041 return (x.energy() > y.energy()); 00042 } 00043 }; 00044 00045 00046 00047 class AlCaPi0RecHitsProducer : public edm::EDProducer { 00048 public: 00049 explicit AlCaPi0RecHitsProducer(const edm::ParameterSet&); 00050 ~AlCaPi0RecHitsProducer(); 00051 00052 00053 virtual void produce(edm::Event &, const edm::EventSetup&); 00054 private: 00055 // ----------member data --------------------------- 00056 00057 std::string ecalHitsProducer_; 00058 std::string barrelHits_; 00059 std::string pi0BarrelHits_; 00060 00061 int gammaCandEtaSize_; 00062 int gammaCandPhiSize_; 00063 00064 double clusSeedThr_; 00065 int clusEtaSize_; 00066 int clusPhiSize_; 00067 00068 double selePtGammaOne_; 00069 double selePtGammaTwo_; 00070 double selePtPi0_; 00071 double seleMinvMaxPi0_; 00072 double seleMinvMinPi0_; 00073 double seleXtalMinEnergy_; 00074 int seleNRHMax_; 00075 00076 std::map<DetId, EcalRecHit> *recHitsEB_map; 00077 00078 00079 };