CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/PhysicsTools/PatAlgos/plugins/PATHemisphereProducer.h

Go to the documentation of this file.
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.7 2010/01/11 13:36:48 hegner 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 produce(edm::Event&, const edm::EventSetup&);
00048       virtual void endJob() ;
00049       
00050       // ----------member data ---------------------------
00052       edm::InputTag _patJets;
00053       edm::InputTag _patMets;
00054       edm::InputTag _patMuons;
00055       edm::InputTag _patElectrons;
00056       edm::InputTag _patPhotons;
00057       edm::InputTag _patTaus;
00058 
00059   float _minJetEt;
00060   float _minMuonEt;       
00061   float _minElectronEt;       
00062   float _minTauEt;       
00063   float _minPhotonEt;      
00064 
00065   float _maxJetEta;      
00066   float _maxMuonEta;       
00067   float _maxElectronEta;     
00068   float _maxTauEta;       
00069   float _maxPhotonEta;      
00070 
00071       int _seedMethod; 
00072       int _combinationMethod;
00073 
00074       HemisphereAlgo* myHemi;
00075       
00076       std::vector<float> vPx, vPy, vPz, vE; 
00077       std::vector<float> vA1, vA2;
00078       std::vector<int> vgroups;
00079   std::vector<reco::CandidatePtr> componentPtrs_;
00080 
00081   
00082   typedef std::vector<float> HemiAxis;
00083  
00084       
00085    
00086     
00087 };
00088 
00089 #endif
00090 
00091