00001
00002 #ifndef PMGTOOLS_IPMGCROSSSECTIONTOOL_H
00003 #define PMGTOOLS_IPMGCROSSSECTIONTOOL_H
00004
00005
00006 #include "AsgTools/IAsgTool.h"
00007
00008 #include <vector>
00009
00010 namespace PMGTools {
00011
00012
00013 struct AllSampleInfo{
00014 int dsid;
00015 std::string containerName;
00016 double amiXSec;
00017 double br;
00018 double filterEff;
00019 double higherOrderXsecTotal;
00020 double kFactor;
00021 double higherOrderXsecSample;
00022 };
00023
00024
00025 class IPMGCrossSectionTool : public virtual asg::IAsgTool {
00026
00027
00028 ASG_TOOL_INTERFACE( PMGTools::IPMGCrossSectionTool )
00029
00030 public:
00031
00033 virtual bool readInfosFromFiles(std::vector<std::string>) = 0;
00034
00036 virtual bool readInfosFromDir(const std::string& inputDir) = 0;
00037
00039 virtual double getFilterEff(const int dsid) const = 0;
00040
00042 virtual std::string getSampleName(const int dsid) const = 0;
00043
00045 virtual double getAMIXsection(const int dsid) const = 0;
00046
00048 virtual double getBR(const int dsid) const = 0;
00049
00051 virtual double getKfactor(const int dsid) const = 0;
00052
00054 virtual double getSampleXsection(const int dsid) const = 0;
00055
00057 virtual std::vector<int> getLoadedDSIDs() const = 0;
00058
00059 };
00060
00061 }
00062
00063 #endif //> !PMGTOOLS_IPMGCROSSSECTIONTOOL_H