Go to the documentation of this file.00001 #ifndef SingleEleCalibSelector_h
00002 #define SingleEleCalibSelector_h
00003
00004 #include "DataFormats/Common/interface/Handle.h"
00005 #include "FWCore/Framework/interface/Event.h"
00006 #include "FWCore/Framework/interface/EventSetup.h"
00007 #include "FWCore/Framework/interface/ESHandle.h"
00008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00009 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
00010 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
00011 #include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h"
00012 #include "Geometry/CaloTopology/interface/CaloTopology.h"
00013
00014 #include <functional>
00015 #include <vector>
00016 #include <map>
00017
00018
00019 class SingleEleCalibSelector{
00020
00021 public:
00022
00023 typedef reco::GsfElectronCollection collection ;
00024 typedef reco::GsfElectronRef electron ;
00025 typedef std::vector<const reco::GsfElectron *> container;
00026 typedef container::const_iterator const_iterator;
00027
00029 SingleEleCalibSelector (const edm::ParameterSet& iConfig) ;
00031 ~SingleEleCalibSelector () ;
00032
00033 const_iterator begin() const { return selected_.begin(); }
00034 const_iterator end() const { return selected_.end(); }
00035
00036 void select (edm::Handle<collection>, const edm::Event&, const edm::EventSetup&) ;
00037
00038 private:
00039
00040 container selected_ ;
00041
00042 edm::ESHandle<CaloTopology> theCaloTopology;
00043
00044 DetId findMaxHit (const std::vector<std::pair<DetId,float> > & v1,
00045 const EBRecHitCollection* EBhits,
00046 const EERecHitCollection* EEhits);
00047
00048 double EnergyNxN(const std::vector<DetId> & vNxN,
00049 const EBRecHitCollection* EBhits,
00050 const EERecHitCollection* EEhits);
00051
00052 double ESCOPinMin_, ESeedOPoutMin_, PinMPoutOPinMin_, E5x5OPoutMin_, E3x3OPinMin_, E3x3OE5x5Min_;
00053 double ESCOPinMax_, ESeedOPoutMax_, PinMPoutOPinMax_, E5x5OPoutMax_, E3x3OPinMax_, E3x3OE5x5Max_;
00054 edm::InputTag EBrecHitLabel_;
00055 edm::InputTag EErecHitLabel_;
00056 };
00057
00058 #endif
00059
00060