00001 #ifndef RecoJets_JetProducers_interface_CastorJetIDHelper_h 00002 #define RecoJets_JetProducers_interface_CastorJetIDHelper_h 00003 00004 00005 #include "FWCore/Framework/interface/Frameworkfwd.h" 00006 #include "FWCore/Framework/interface/Event.h" 00007 #include "DataFormats/JetReco/interface/BasicJet.h" 00008 00009 namespace reco { 00010 00011 namespace helper { 00012 00013 class CastorJetIDHelper { 00014 00015 public : 00016 // construction 00017 CastorJetIDHelper(); 00018 ~CastorJetIDHelper() {} 00019 00020 00021 void initValues (); 00022 00023 // interface 00024 void calculate( const edm::Event& event, const reco::BasicJet &jet ); 00025 00026 // member access 00027 00028 double emEnergy() const { return emEnergy_;} 00029 double hadEnergy() const { return hadEnergy_;} 00030 double fem() const { return fem_;} 00031 double width() const { return width_;} 00032 double depth() const { return depth_;} 00033 double fhot() const { return fhot_;} 00034 double sigmaz() const { return sigmaz_;} 00035 int nTowers() const { return nTowers_;} 00036 00037 00038 private: 00039 00040 00041 // helper functions 00042 double phiangle (double testphi); 00043 00044 double emEnergy_; 00045 double hadEnergy_; 00046 double fem_; 00047 double width_; 00048 double depth_; 00049 double fhot_; 00050 double sigmaz_; 00051 int nTowers_; 00052 00053 static int sanity_checks_left_; 00054 }; 00055 } 00056 } 00057 #endif