ATLAS Offline Software
PhysicsAnalysis
Interfaces
PMGAnalysisInterfaces
PMGAnalysisInterfaces
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
15
namespace
PMGTools
{
16
17
// store all information for certain DSID in structure
18
struct
AllSampleInfo
{
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;
28
double
higherOrderXsecTotal
= 0;
29
double
higherOrderXsecSample
= 0;
30
};
31
32
33
class
IPMGCrossSectionTool
:
public
virtual
asg::IAsgTool
{
34
35
// Declare the interface that the class provides
36
ASG_TOOL_INTERFACE
(
PMGTools::IPMGCrossSectionTool
)
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
PMGTools::IPMGCrossSectionTool::getAMIXsection
virtual double getAMIXsection(const int dsid, const int etag=-1) const =0
return the AMI cross-section for DSID
PMGTools::IPMGCrossSectionTool
Definition:
IPMGCrossSectionTool.h:33
PMGTools::IPMGCrossSectionTool::getXsectionUncertainty
virtual double getXsectionUncertainty(const int dsid, const int etag=-1) const =0
return the cross-section uncertainty for DSID
PMGTools::IPMGCrossSectionTool::getFilterEff
virtual double getFilterEff(const int dsid, const int etag=-1) const =0
return filter efficiency for DSID
PMGTools::IPMGCrossSectionTool::getKfactor
virtual double getKfactor(const int dsid, const int etag=-1) const =0
return the branching ratio for DSID
PMGTools::AllSampleInfo::kFactor
double kFactor
Definition:
IPMGCrossSectionTool.h:23
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition:
IAsgTool.h:41
PMGTools::IPMGCrossSectionTool::readInfosFromFiles
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
PMGTools::AllSampleInfo::br
double br
Definition:
IPMGCrossSectionTool.h:27
PMGTools::IPMGCrossSectionTool::getXsectionUncertaintyUP
virtual double getXsectionUncertaintyUP(const int dsid, const int etag=-1) const =0
return the cross-section uncertainty for DSID
PMGTools::AllSampleInfo::higherOrderXsecSample
double higherOrderXsecSample
Definition:
IPMGCrossSectionTool.h:29
PMGTools::AllSampleInfo::containerName
std::string containerName
Definition:
IPMGCrossSectionTool.h:20
PMGTools::AllSampleInfo::XSecUncUP
double XSecUncUP
Definition:
IPMGCrossSectionTool.h:24
PMGTools::IPMGCrossSectionTool::getLoadedDSIDs
virtual std::vector< int > getLoadedDSIDs() const =0
get a list of the DSID for the loaded samples
PMGTools::AllSampleInfo::XSecUncDOWN
double XSecUncDOWN
Definition:
IPMGCrossSectionTool.h:25
PMGTools::IPMGCrossSectionTool::readInfosFromDir
virtual bool readInfosFromDir(const std::string &inputDir)=0
read infos from all files in dir
Generate_dsid_ranseed.dsid
dsid
Definition:
Generate_dsid_ranseed.py:6
PMGTools::AllSampleInfo
Definition:
IPMGCrossSectionTool.h:18
PMGTools
Tool providing sample cross-sections and k-factors etc.
Definition:
AnalysisCommon/PMGTools/PMGTools/IPMGSherpaVjetsSysTool.h:16
PMGTools::IPMGCrossSectionTool::getXsectionUncertaintyDOWN
virtual double getXsectionUncertaintyDOWN(const int dsid, const int etag=-1) const =0
return the cross-section uncertainty for DSID
TestSUSYToolsAlg.inputDir
string inputDir
Definition:
TestSUSYToolsAlg.py:74
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition:
AsgToolMacros.h:40
IAsgTool.h
PMGTools::AllSampleInfo::higherOrderXsecTotal
double higherOrderXsecTotal
Definition:
IPMGCrossSectionTool.h:28
PMGTools::AllSampleInfo::filterEff
double filterEff
Definition:
IPMGCrossSectionTool.h:22
PMGTools::AllSampleInfo::dsid
int dsid
Definition:
IPMGCrossSectionTool.h:19
PMGTools::AllSampleInfo::etag
int etag
Definition:
IPMGCrossSectionTool.h:26
PMGTools::IPMGCrossSectionTool::getSampleName
virtual std::string getSampleName(const int dsid, const int etag=-1) const =0
return the sample name for DSID
PMGTools::IPMGCrossSectionTool::getSampleXsection
virtual double getSampleXsection(const int dsid, const int etag=-1) const =0
return the sample cross-section for DSID
PMGTools::AllSampleInfo::amiXSec
double amiXSec
Definition:
IPMGCrossSectionTool.h:21
Generated on Mon Sep 29 2025 21:12:02 for ATLAS Offline Software by
1.8.18