ATLAS Offline Software
Loading...
Searching...
No Matches
IPMGCrossSectionTool.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef PMGANALYSISINTERFACES_IPMGCROSSSECTIONTOOL_H
8#define PMGANALYSISINTERFACES_IPMGCROSSSECTIONTOOL_H
9
10// Infrastructure include(s):
11#include "AsgTools/IAsgTool.h"
12
13#include <vector>
14
15namespace PMGTools {
16
17 // store all information for certain DSID in structure
19 int dsid = 0;
20 std::string containerName;
21 double amiXSec = 0;
22 double filterEff = 0;
23 double kFactor = 0;
24 double XSecUncUP = 0;
25 double XSecUncDOWN = 0;
26 int etag = 0;
27 double br = 0;
30 };
31
32
33 class IPMGCrossSectionTool : public virtual asg::IAsgTool {
34
35 // Declare the interface that the class provides
37
38 public:
39
41 virtual bool readInfosFromFiles(const std::vector<std::string> &) = 0;
42
44 virtual bool readInfosFromDir(const std::string& inputDir) = 0;
45
47 virtual double getFilterEff(const int dsid, const int etag = -1) const = 0;
48
50 virtual std::string getSampleName(const int dsid, const int etag = -1) const = 0;
51
53 virtual double getAMIXsection(const int dsid, const int etag = -1) const = 0;
54
56 virtual double getXsectionUncertainty(const int dsid, const int etag = -1) const = 0;
57
59 virtual double getXsectionUncertaintyUP(const int dsid, const int etag = -1) const = 0;
60
62 virtual double getXsectionUncertaintyDOWN(const int dsid, const int etag = -1) const = 0;
63
64 // :: below is for future use?
66 //virtual double getBR(const int dsid, const int etag = -1) const = 0;
67
69 virtual double getKfactor(const int dsid, const int etag = -1) const = 0;
70
72 virtual double getSampleXsection(const int dsid, const int etag = -1) const = 0;
73
75 virtual std::vector<int> getLoadedDSIDs() const = 0;
76
77 }; // class IPMGCrossSectionTool
78
79} // namespace PMGTools
80
81#endif //> !PMGANALYSISINTERFACES_IPMGCROSSSECTIONTOOL_H
#define ASG_TOOL_INTERFACE(CLASSNAME)
virtual std::vector< int > getLoadedDSIDs() const =0
get a list of the DSID for the loaded samples
virtual double getKfactor(const int dsid, const int etag=-1) const =0
return the branching ratio for DSID
virtual double getFilterEff(const int dsid, const int etag=-1) const =0
return filter efficiency for DSID
virtual std::string getSampleName(const int dsid, const int etag=-1) const =0
return the sample name for DSID
virtual bool readInfosFromDir(const std::string &inputDir)=0
read infos from all files in dir
virtual double getXsectionUncertaintyDOWN(const int dsid, const int etag=-1) const =0
return the cross-section uncertainty for DSID
virtual bool readInfosFromFiles(const std::vector< std::string > &)=0
read infos from file, store them in the structure and make a vector that keeps all of them
virtual double getAMIXsection(const int dsid, const int etag=-1) const =0
return the AMI cross-section for DSID
virtual double getSampleXsection(const int dsid, const int etag=-1) const =0
return the sample cross-section for DSID
virtual double getXsectionUncertainty(const int dsid, const int etag=-1) const =0
return the cross-section uncertainty for DSID
virtual double getXsectionUncertaintyUP(const int dsid, const int etag=-1) const =0
return the cross-section uncertainty for DSID
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
Tool providing sample cross-sections and k-factors etc.