2 #ifndef RIVET_AnalysisInfo_HH 3 #define RIVET_AnalysisInfo_HH 5 #include "Rivet/Config/RivetCommon.hh" 16 static unique_ptr<AnalysisInfo>
make(
const std::string&
name);
33 if (!_name.empty())
return _name;
48 if (!_refDataName.empty())
return _refDataName;
55 const std::string&
inspireId()
const {
return _inspireId; }
62 const std::string&
spiresId()
const {
return _spiresId; }
72 const std::vector<std::string>&
authors()
const {
return _authors; }
81 const std::string&
summary()
const {
return _summary; }
91 const std::string&
description()
const {
return _description; }
100 const std::string&
runInfo()
const {
return _runInfo; }
105 const std::vector<PdgIdPair>&
beams()
const {
return _beams; }
110 const std::vector<std::pair<double,double> >&
energies()
const {
return _energies; }
115 const std::string&
experiment()
const {
return _experiment; }
120 const std::string&
collider()
const {
return _collider; }
127 const std::string&
year()
const {
return _year; }
141 const std::vector<std::string>&
references()
const {
return _references; }
146 const std::vector<std::string>&
keywords()
const {
return _keywords; }
147 void setKeywords(
const std::vector<std::string>&
keywords) { _keywords =
keywords; }
150 const std::string&
warning()
const {
return _warning; }
151 void setWarning(
const std::string
warning) { _warning =
warning; }
154 const std::string&
refMatch()
const {
return _refmatch; }
155 void setRefMatch(
const std::string refmatch) { _refmatch = refmatch; }
158 const std::string&
refUnmatch()
const {
return _refunmatch; }
159 void setRefUnmatch(
const std::string refunmatch) { _refunmatch = refunmatch; }
162 const std::string&
bibKey()
const {
return _bibKey; }
167 const std::string&
bibTeX()
const {
return _bibTeX; }
172 const std::vector<std::string>&
todos()
const {
return _todos; }
183 const std::vector<std::string>&
options()
const {
return _options; }
186 bool validOption(std::string key, std::string val)
const;
204 const std::string&
status()
const {
return _status; }
255 auto pos =_status.find(word);
256 if ( pos == string::npos )
return false;
257 if ( pos > 0 && isalnum(_status[pos - 1]) )
return false;
258 if ( pos + word.length() < _status.length() &&
259 isalnum(_status[pos + word.length()]) )
return false;
285 std::string _refDataName;
286 std::string _spiresId, _inspireId;
287 std::vector<std::string> _authors;
288 std::string _summary;
289 std::string _description;
290 std::string _runInfo;
291 std::string _experiment;
292 std::string _collider;
293 std::vector<std::pair<PdgId, PdgId> > _beams;
294 std::vector<std::pair<double, double> > _energies;
296 double _luminosityfb;
297 std::vector<std::string> _references;
298 std::vector<std::string> _keywords;
303 std::string _warning;
304 std::string _refmatch;
305 std::string _refunmatch;
306 std::vector<std::string> _todos;
307 bool _needsCrossSection;
309 std::vector<std::string> _options;
310 std::map< std::string, std::set<std::string> > _optionmap;
312 std::vector<std::string> _validation;
342 _needsCrossSection =
false;
Definition: MC_Cent_pPb.hh:10
bool hepdata() const
Check if refdata comes automatically from Hepdata.
Definition: AnalysisInfo.hh:244
AnalysisInfo()
Default constructor.
Definition: AnalysisInfo.hh:19
bool random() const
Return true if includes random variations.
Definition: AnalysisInfo.hh:234
bool obsolete() const
Return true if obsolete.
Definition: AnalysisInfo.hh:224
bool statuscheck(const string &word) const
Helper function for checking status-string contents.
Definition: AnalysisInfo.hh:254
Holder of analysis metadata.
Definition: AnalysisInfo.hh:12
bool unvalidated() const
Return true if unvalidated.
Definition: AnalysisInfo.hh:229
void buildOptionMap()
Build a map of options to facilitate checking.
static unique_ptr< AnalysisInfo > make(const std::string &name)
Static factory method: returns null pointer if no metadata found.
const std::string & status() const
Whether this analysis is trusted (in any way!)
Definition: AnalysisInfo.hh:204
bool preliminary() const
Return true if preliminary.
Definition: AnalysisInfo.hh:219
bool multiweight() const
Check if this analysis can handle multiple weights.
Definition: AnalysisInfo.hh:249
const std::vector< std::string > & validation() const
List a series of command lines to be used for valdation.
Definition: AnalysisInfo.hh:270
bool unphysical() const
Return true if the analysis uses generator-dependent information.
Definition: AnalysisInfo.hh:239
bool validOption(std::string key, std::string val) const
Check if the given option is valid.
bool validated() const
Return true if validated.
Definition: AnalysisInfo.hh:214
bool reentrant() const
Return true if finalize() can be run multiple times for this analysis.
Definition: AnalysisInfo.hh:209
std::string toString(const AnalysisInfo &ai)
String representation.
bool needsCrossSection() const
Definition: AnalysisInfo.hh:277
std::ostream & operator<<(std::ostream &os, const AnalysisInfo &ai)
Stream an AnalysisInfo as a text description.
Definition: AnalysisInfo.hh:356
const std::vector< std::string > & options() const
Get the option list.
Definition: AnalysisInfo.hh:183
void setReentrant(bool ree=true)
Set re-entrant status.
Definition: AnalysisInfo.hh:211
void setStatus(const std::string &status)
Set the analysis code status.
Definition: AnalysisInfo.hh:206
std::string refFile() const
Find the path to the reference-data file for this analysis.
void setOptions(const std::vector< std::string > &opts)
Set the option list.
Definition: AnalysisInfo.hh:189