00001 #ifndef JetVertexMain_H 00002 #define JetVertexMain_H 00003 00004 #include "DataFormats/JetReco/interface/CaloJet.h" 00005 #include "DataFormats/TrackReco/interface/Track.h" 00006 #include "DataFormats/TrackReco/interface/TrackFwd.h" 00007 #include "MagneticField/Engine/interface/MagneticField.h" 00008 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00009 #include "DataFormats/Common/interface/Handle.h" 00010 #include <cmath> 00011 #include <string> 00012 00013 class reco::CaloJet; 00014 00015 class JetVertexMain { 00016 00017 public: 00018 00019 JetVertexMain(const edm::ParameterSet & parameters ); 00020 00021 ~JetVertexMain(){}; 00022 00023 00024 std::pair <double, bool> Main (const reco::CaloJet& jet, edm::Handle<reco::TrackCollection> tracks, 00025 double SIGNAL_V_Z, double SIGNAL_V_Z_Error ); 00026 00027 private: 00028 double DeltaR(double eta1, double eta2, double phi1, double phi2); 00029 double Track_Pt(double px, double py); 00030 00031 //algorithm parameters 00032 double cutSigmaZ; 00033 double cutDeltaZ; 00034 double threshold; 00035 double cone_size; 00036 int Algo; 00037 std::string cutType; 00038 bool discriminator; 00039 00040 }; 00041 00042 #endif 00043