00001 #ifndef LikelihoodSpecies_h 00002 #define LikelihoodSpecies_h 00003 00004 #include "RecoEgamma/ElectronIdentification/interface/LikelihoodPdf.h" 00005 #include <vector> 00006 #include <string> 00007 #include <map> 00008 00009 class LikelihoodSpecies { 00010 public: 00011 LikelihoodSpecies() {}; 00012 LikelihoodSpecies(const char* name, float prior); 00013 00014 virtual ~LikelihoodSpecies(); 00015 00016 // modifiers 00017 void setName(const char* name); 00018 void addPdf(LikelihoodPdf* pdf); 00019 void setPrior(float prior); 00020 void setSplitFraction(std::pair<std::string,float> splitfrac); 00021 00022 // methods 00023 std::vector<LikelihoodPdf*> getListOfPdfs(); 00024 const char* getName(); 00025 float getPrior(); 00026 std::map<std::string,float> getSplitFractions(); 00027 00028 private: 00029 std::vector<LikelihoodPdf*> _pdfList; 00030 std::string _name; 00031 float _prior; 00032 std::map<std::string,float> _splitFractions; 00033 00034 }; 00035 #endif