ATLAS Offline Software
PMGCrossSectionTool.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2017 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 
23 namespace PMGTools {
24 
25  class PMGCrossSectionTool : public virtual IPMGCrossSectionTool,
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 
41 
43  bool readInfosFromFiles(std::vector<std::string>);
44 
46  bool readInfosFromDir(const std::string& inputDir);
47 
49  double getFilterEff(const int dsid) const;
50 
52  std::string getSampleName(const int dsid) const;
53 
55  double getAMIXsection(const int dsid) const;
56 
58  double getXsectionUncertainty(const int dsid) const;
59 
61  double getXsectionUncertaintyUP(const int dsid) const;
62 
64  double getXsectionUncertaintyDOWN(const int dsid) const;
65 
66  // :: below is for future use?
68  //double getBR(const int dsid) const;
69 
71  double getKfactor(const int dsid) const;
72 
74  double getSampleXsection(const int dsid) 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<unsigned, PMGTools::AllSampleInfo> m_fStoreSampleInfo;
83  std::string m_InputFileName;
84 
85  }; // class PMGCrossSectionTool
86 
87 }
88 
89 #endif //> !PMGTOOLS_PMGCROSSSECTIONTOOL_H
PMGTools::PMGCrossSectionTool::getAMIXsection
double getAMIXsection(const int dsid) const
return the AMI cross-section for DSID
Definition: PMGCrossSectionTool.cxx:139
PMGTools::IPMGCrossSectionTool
Definition: AnalysisCommon/PMGTools/PMGTools/IPMGCrossSectionTool.h:28
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
PMGTools::PMGCrossSectionTool::PMGCrossSectionTool
PMGCrossSectionTool(const std::string &name="PMGCrossSectionTool")
Standard tool constructor, with name.
Definition: PMGCrossSectionTool.cxx:21
PMGTools::PMGCrossSectionTool::getXsectionUncertaintyDOWN
double getXsectionUncertaintyDOWN(const int dsid) const
return the cross-section uncertainty for DSID
Definition: PMGCrossSectionTool.cxx:170
TestSUSYToolsAlg.inputDir
string inputDir
Definition: TestSUSYToolsAlg.py:76
PMGTools::PMGCrossSectionTool::getSampleName
std::string getSampleName(const int dsid) const
return the sample name for DSID
Definition: PMGCrossSectionTool.cxx:129
PMGTools::PMGCrossSectionTool::getFilterEff
double getFilterEff(const int dsid) const
return filter efficiency for DSID
Definition: PMGCrossSectionTool.cxx:119
PMGTools::PMGCrossSectionTool::getLoadedDSIDs
std::vector< int > getLoadedDSIDs() const
get a list of the DSID for the loaded samples
Definition: PMGCrossSectionTool.cxx:208
PMGTools::PMGCrossSectionTool::initialize
StatusCode initialize()
initialize() is required by AsgTool base class
Definition: PMGCrossSectionTool.cxx:24
PMGTools::PMGCrossSectionTool::m_InputFileName
std::string m_InputFileName
Definition: PMGCrossSectionTool.h:83
Generate_dsid_ranseed.dsid
dsid
Definition: Generate_dsid_ranseed.py:6
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PMGTools::PMGCrossSectionTool::m_fStoreSampleInfo
std::map< unsigned, PMGTools::AllSampleInfo > m_fStoreSampleInfo
Definition: PMGCrossSectionTool.h:82
PMGTools
Tool providing sample cross-sections and k-factors etc.
Definition: AnalysisCommon/PMGTools/PMGTools/IPMGCrossSectionTool.h:15
PMGTools::PMGCrossSectionTool::getSampleXsection
double getSampleXsection(const int dsid) const
return the sample cross-section for DSID
Definition: PMGCrossSectionTool.cxx:196
PMGTools::PMGCrossSectionTool::getXsectionUncertainty
double getXsectionUncertainty(const int dsid) const
return the cross-section uncertainty for DSID
Definition: PMGCrossSectionTool.cxx:179
PMGTools::PMGCrossSectionTool::getKfactor
double getKfactor(const int dsid) const
return the branching ratio for DSID
Definition: PMGCrossSectionTool.cxx:185
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
PMGTools::PMGCrossSectionTool::readInfosFromFiles
bool readInfosFromFiles(std::vector< std::string >)
read infos from file, store them in the structure and make a vector that keeps all of them
Definition: PMGCrossSectionTool.cxx:37
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
PMGTools::PMGCrossSectionTool::getXsectionUncertaintyUP
double getXsectionUncertaintyUP(const int dsid) const
return the cross-section uncertainty for DSID
Definition: PMGCrossSectionTool.cxx:161
IPMGCrossSectionTool.h
PMGTools::PMGCrossSectionTool
Definition: PMGCrossSectionTool.h:26
AsgTool.h
PMGTools::PMGCrossSectionTool::readInfosFromDir
bool readInfosFromDir(const std::string &inputDir)
read infos from all files in dir
Definition: PMGCrossSectionTool.cxx:86