00001 #ifndef TauMETAlgo_h
00002 #define TauMETAlgo_h
00003
00004
00005
00006 #include "FWCore/Framework/interface/Event.h"
00007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00008
00009 #include <math.h>
00010 #include <vector>
00011 #include "DataFormats/METReco/interface/MET.h"
00012 #include "DataFormats/METReco/interface/CaloMET.h"
00013 #include "DataFormats/METReco/interface/METCollection.h"
00014 #include "DataFormats/METReco/interface/CaloMETCollection.h"
00015
00016 #include "DataFormats/TauReco/interface/PFTau.h"
00017
00018 #include "DataFormats/JetReco/interface/CaloJet.h"
00019 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
00020 #include "DataFormats/METReco/interface/CorrMETData.h"
00021 #include "JetMETCorrections/Objects/interface/JetCorrector.h"
00022
00023 #include "DataFormats/Math/interface/Point3D.h"
00024 #include "DataFormats/Math/interface/Vector3D.h"
00025 #include "DataFormats/Math/interface/LorentzVector.h"
00026
00027 typedef math::XYZTLorentzVector LorentzVector;
00028 typedef math::XYZPoint Point;
00029
00030 using namespace std;
00031 class TauMETAlgo
00032 {
00033 public:
00034 TauMETAlgo();
00035 virtual ~TauMETAlgo();
00036
00037 virtual void run(edm::Event&, const edm::EventSetup&,
00038 edm::Handle<PFTauCollection>,edm::Handle<CaloJetCollection>,double,double,
00039 const JetCorrector&,const std::vector<CaloMET>&,double,double,double,
00040 bool,double,bool,double,bool,double,bool,std::vector<CaloMET>* corrMET);
00041
00042 virtual void run(edm::Event&, const edm::EventSetup&,
00043 edm::Handle<PFTauCollection>,edm::Handle<CaloJetCollection>,double,double,
00044 const JetCorrector&,const std::vector<MET>&,double,double,double,
00045 bool,double,bool,double,bool,double,bool,std::vector<MET>* corrMET);
00046
00047 };
00048
00049 #endif
00050