![]() |
![]() |
00001 // -*- C++ -*- 00002 // 00003 // Package: PatShapeAna 00004 // Class: PatShapeAna 00005 // 00013 // 00014 // Original Author: Christian AUTERMANN 00015 // Created: Sat Mar 22 12:58:04 CET 2008 00016 // $Id: PATHemisphereProducer.h,v 1.6 2008/10/09 14:01:45 adamwo Exp $ 00017 // 00018 // 00019 00020 #ifndef PATHemisphereProducer_h 00021 #define PATHemisphereProducer_h 00022 00023 // system include files 00024 #include <memory> 00025 #include <map> 00026 #include <utility>//pair 00027 // user include files 00028 #include "FWCore/Framework/interface/Frameworkfwd.h" 00029 #include "FWCore/Framework/interface/EDProducer.h" 00030 #include "FWCore/Framework/interface/Event.h" 00031 #include "FWCore/Framework/interface/MakerMacros.h" 00032 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00033 #include "DataFormats/Candidate/interface/CandidateFwd.h" 00034 #include "PhysicsTools/UtilAlgos/interface/ParameterAdapter.h" 00035 00036 #include "PhysicsTools/PatAlgos/interface/HemisphereAlgo.h" 00037 // 00038 // class decleration 00039 // 00040 00041 class PATHemisphereProducer : public edm::EDProducer { 00042 public: 00043 explicit PATHemisphereProducer(const edm::ParameterSet&); 00044 ~PATHemisphereProducer(); 00045 00046 private: 00047 virtual void beginJob(const edm::EventSetup&) ; 00048 virtual void produce(edm::Event&, const edm::EventSetup&); 00049 virtual void endJob() ; 00050 00051 // ----------member data --------------------------- 00053 edm::InputTag _patJets; 00054 edm::InputTag _patMets; 00055 edm::InputTag _patMuons; 00056 edm::InputTag _patElectrons; 00057 edm::InputTag _patPhotons; 00058 edm::InputTag _patTaus; 00059 00060 float _minJetEt; 00061 float _minMuonEt; 00062 float _minElectronEt; 00063 float _minTauEt; 00064 float _minPhotonEt; 00065 00066 float _maxJetEta; 00067 float _maxMuonEta; 00068 float _maxElectronEta; 00069 float _maxTauEta; 00070 float _maxPhotonEta; 00071 00072 int _seedMethod; 00073 int _combinationMethod; 00074 00075 HemisphereAlgo* myHemi; 00076 00077 std::vector<float> vPx, vPy, vPz, vE; 00078 std::vector<float> vA1, vA2; 00079 std::vector<int> vgroups; 00080 std::vector<reco::CandidatePtr> componentPtrs_; 00081 00082 00083 typedef std::vector<float> HemiAxis; 00084 00085 00086 00087 00088 }; 00089 00090 #endif 00091 00092