5#ifndef SUSYTOOLS_SUSYCROSSSECTION_H
6#define SUSYTOOLS_SUSYCROSSSECTION_H
26unsigned int finalState(
const int SUSY_Spart1_pdgId,
const int SUSY_Spart2_pdgId);
31 CrossSectionDB(
const std::string& txtfilename =
"dev/PMGTools/PMGxsecDB_mc16.txt",
bool usePathResolver =
true,
bool isExtended =
false,
bool usePMGTool =
true);
36 void extend(
const std::string&);
79 return this->m_sample_id < k.m_sample_id || (this->m_sample_id == k.m_sample_id && this->m_proc_id < k.m_proc_id);
90 Process
process(
int id,
int proc = 0)
const;
96 return p.xsect() * p.kfactor() * p.efficiency();
101 float kfactor(
int id,
int proc = 0)
const {
return process(
id, proc).kfactor(); }
127 xsDB_t::iterator
my_find(
const int proc );
Key(int sample_id, int proc_id)
Key(int sample_id, const std::string &name)
bool operator<(const Key &k) const
Process(int id, const std::string &name, float cross_section, float kfactor, float efficiency, float relunc, float sumweight, float stat)
const std::string & name() const
float kfactor(int id, int pdgId1, int pdgId2) const
xsDB_t::iterator my_find(const int proc)
xsDB_t::const_iterator iterator
CrossSectionDB(const std::string &txtfilename="dev/PMGTools/PMGxsecDB_mc16.txt", bool usePathResolver=true, bool isExtended=false, bool usePMGTool=true)
float rawxsect(int id, int pdgId1, int pdgId2) const
float rel_uncertainty(int id, int proc=0) const
float rawxsect(int id, int proc=0) const
float sumweight(int id, int proc=0) const
float kfactor(int id, int proc=0) const
void extend(const std::string &)
asg::AnaToolHandle< PMGTools::IPMGCrossSectionTool > m_pmgxs
float efficiency(int id, int proc=0) const
std::map< Key, Process > xsDB_t
float rel_uncertainty(int id, int pdgId1, int pdgId2) const
float sumweight(int id, int pdgId1, int pdgId2) const
void setUsePMGTool(bool usePMGTool=true)
void loadFile(const std::string &)
float xsectTimesEff(int id, int pdgId1, int pdgId2) const
std::string name(int id) const
void setExtended(bool isExtended=true)
Process process(int id, int pdgId1, int pdgId2) const
float xsectTimesEff(int id, int proc=0) const
float efficiency(int id, int pdgId1, int pdgId2) const
const std::string process
unsigned int finalState(const int SUSY_Spart1_pdgId, const int SUSY_Spart2_pdgId)