00001 #ifndef TOPUTILS_LEPTONWEIGHTS_H__ 00002 #define TOPUTILS_LEPTONWEIGHTS_H__ 00003 00004 #include <vector> 00005 00006 class MEventTool; 00007 00008 namespace manchester { 00009 class MElectron; 00010 class MMuon; 00011 } 00012 00017 class LeptonWeights { 00018 00019 public: 00020 00021 LeptonWeights(); 00022 00024 static double GetElectronIDWeight(const MEventTool* event, const int errorflag); 00025 00027 static double GetElectronIDWeight(const std::vector<const manchester::MElectron*>* sel_el, const int errorflag); 00028 00030 static double GetElectronTriggerWeight(const MEventTool* event, const int errorflag); 00032 static double GetElectronTriggerWeight(const std::vector<const manchester::MElectron*>* selelectrons, const int errorflag); 00033 00035 static double GetMuonTriggerWeight(const MEventTool* event, const int errorflag); 00037 static double GetMuonTriggerWeight(const std::vector<const manchester::MMuon*>* selmuons, const int errorflag); 00038 00040 static double GetMuonIDWeight(const MEventTool* event, const int errorflag); 00042 static double GetMuonIDWeight(const std::vector<const manchester::MMuon*>* selmuons, const int errorflag); 00043 00044 00045 };//class LeptonWeights 00046 00047 #endif // TOPUTILS_LEPTONWEIGHTS_H__