ATLAS Offline Software
Loading...
Searching...
No Matches
PMGCrossSectionTool.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 PMGTOOLS_PMGCROSSSECTIONTOOL_H
8#define PMGTOOLS_PMGCROSSSECTIONTOOL_H
9
10// System include(s):
11#include <map>
12#include <string>
13
14// Infrastructure include(s):
15#include "AsgTools/AsgTool.h"
16
17// Interface include(s):
19
22
23namespace PMGTools {
24
26 public asg::AsgTool {
27
28 public:
29 //constructor for athena can be created using special macro
31
32
33 PMGCrossSectionTool( const std::string& name =
34 "PMGCrossSectionTool" );
35
38
40 StatusCode initialize();
41
43 bool readInfosFromFiles(const std::vector<std::string> &);
44
46 bool readInfosFromDir(const std::string& inputDir);
47
49 double getFilterEff(const int dsid, const int etag = -1) const;
50
52 std::string getSampleName(const int dsid, const int etag = -1) const;
53
55 double getAMIXsection(const int dsid, const int etag = -1) const;
56
58 double getXsectionUncertainty(const int dsid, const int etag = -1) const;
59
61 double getXsectionUncertaintyUP(const int dsid, const int etag = -1) const;
62
64 double getXsectionUncertaintyDOWN(const int dsid, const int etag = -1) const;
65
66 // :: below is for future use?
68 //double getBR(const int dsid, const int etag = -1) const;
69
71 double getKfactor(const int dsid, const int etag = -1) const;
72
74 double getSampleXsection(const int dsid, const int etag = -1) const;
75
77 std::vector<int> getLoadedDSIDs() const;
78
79 private:
80
81 // store vector of structures, each structure contains full info for DSID
82 std::map<std::pair<unsigned, int>, PMGTools::AllSampleInfo> m_fStoreSampleInfo;
83 std::string m_InputFileName;
84
85 }; // class PMGCrossSectionTool
86
87}
88
89#endif //> !PMGTOOLS_PMGCROSSSECTIONTOOL_H
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
double getKfactor(const int dsid, const int etag=-1) const
return the branching ratio for DSID
bool readInfosFromDir(const std::string &inputDir)
read infos from all files in dir
std::string getSampleName(const int dsid, const int etag=-1) const
return the sample name for DSID
double getXsectionUncertaintyUP(const int dsid, const int etag=-1) const
return the cross-section uncertainty for DSID
double getXsectionUncertaintyDOWN(const int dsid, const int etag=-1) const
return the cross-section uncertainty for DSID
double getSampleXsection(const int dsid, const int etag=-1) const
return the sample cross-section for DSID
bool readInfosFromFiles(const std::vector< std::string > &)
read infos from file, store them in the structure and make a vector that keeps all of them
double getXsectionUncertainty(const int dsid, const int etag=-1) const
return the cross-section uncertainty for DSID
double getAMIXsection(const int dsid, const int etag=-1) const
return the AMI cross-section for DSID
PMGCrossSectionTool(const std::string &name="PMGCrossSectionTool")
Standard tool constructor, with name.
StatusCode initialize()
initialize() is required by AsgTool base class
double getFilterEff(const int dsid, const int etag=-1) const
return filter efficiency for DSID
std::vector< int > getLoadedDSIDs() const
get a list of the DSID for the loaded samples
std::map< std::pair< unsigned, int >, PMGTools::AllSampleInfo > m_fStoreSampleInfo
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
Tool providing sample cross-sections and k-factors etc.