00001 #ifndef MuonIdentification_MuonCaloCompatibility_h 00002 #define MuonIdentification_MuonCaloCompatibility_h 00003 00004 // -*- C++ -*- 00005 // 00006 // Package: MuonIdentification 00007 // Class: MuonCaloCompatibility 00008 // 00009 /* 00010 00011 Description: test track muon hypothesis using energy deposition in ECAL,HCAL,HO 00012 00013 */ 00014 // 00015 // Original Author: Ingo Bloch 00016 // $Id: MuonCaloCompatibility.h,v 1.4 2010/06/02 15:50:51 andersj Exp $ 00017 // 00018 // 00019 00020 #include "TH2.h" 00021 #include "TH2D.h" 00022 #include "TFile.h" 00023 #include "DataFormats/MuonReco/interface/Muon.h" 00024 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00025 #include <string> 00026 00027 class MuonCaloCompatibility { 00028 public: 00029 MuonCaloCompatibility():isConfigured_(false){} 00030 void configure(const edm::ParameterSet&); 00031 double evaluate( const reco::Muon& ); 00032 private: 00033 bool accessing_overflow( TH2D* histo, double x, double y ); 00034 bool isConfigured_; 00035 00036 /* std::string muon_templateFileName; */ 00037 /* std::string pion_templateFileName; */ 00038 std::string MuonfileName_; 00039 std::string PionfileName_; 00040 00041 boost::shared_ptr<TFile> pion_templates; 00042 boost::shared_ptr<TFile> muon_templates; 00043 // used input templates for given eta 00044 TH2D * pion_template_em ; 00045 TH2D * pion_template_had; 00046 TH2D * pion_template_ho ; 00047 TH2D * muon_template_em ; 00048 TH2D * muon_template_had; 00049 TH2D * muon_template_ho ; 00050 // input template functions by eta 00051 TH2D* pion_had_etaEpl ; 00052 TH2D* pion_em_etaEpl ; 00053 TH2D* pion_had_etaTpl ; 00054 TH2D* pion_em_etaTpl ; 00055 TH2D* pion_ho_etaB ; 00056 TH2D* pion_had_etaB ; 00057 TH2D* pion_em_etaB ; 00058 TH2D* pion_had_etaTmi ; 00059 TH2D* pion_em_etaTmi ; 00060 TH2D* pion_had_etaEmi ; 00061 TH2D* pion_em_etaEmi ; 00062 00063 TH2D* muon_had_etaEpl ; 00064 TH2D* muon_em_etaEpl ; 00065 TH2D* muon_had_etaTpl ; 00066 TH2D* muon_em_etaTpl ; 00067 TH2D* muon_ho_etaB ; 00068 TH2D* muon_had_etaB ; 00069 TH2D* muon_em_etaB ; 00070 TH2D* muon_had_etaTmi ; 00071 TH2D* muon_em_etaTmi ; 00072 TH2D* muon_had_etaEmi ; 00073 TH2D* muon_em_etaEmi ; 00074 00075 double pbx; 00076 double pby; 00077 double pbz; 00078 00079 double psx; 00080 double psy; 00081 double psz; 00082 00083 double muon_compatibility; 00084 00085 bool use_corrected_hcal; 00086 bool use_em_special; 00087 }; 00088 #endif