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);
41 if (!_name.empty())
return _name;
57 if (!_refDataName.empty())
return _refDataName;
65 const std::string&
inspireId()
const {
return _inspireId; }
72 const std::string&
spiresId()
const {
return _spiresId; }
81 const std::vector<std::string>&
authors()
const {
return _authors; }
91 const std::string&
summary()
const {
return _summary; }
112 const std::string&
runInfo()
const {
return _runInfo; }
119 const std::vector<PdgIdPair>&
beams()
const {
return _beams; }
126 const std::vector<std::pair<double,double> >&
energies()
const {
return _energies; }
133 const std::string&
experiment()
const {
return _experiment; }
140 const std::string&
collider()
const {
return _collider; }
149 const std::string&
year()
const {
return _year; }
157 const double luminosity()
const {
return 1000*_luminosityfb; }
163 const std::vector<std::string>&
references()
const {
return _references; }
169 const std::vector<std::string>&
keywords()
const {
return _keywords; }
172 const std::string&
bibKey()
const {
return _bibKey;}
179 const std::string&
bibTeX()
const {
return _bibTeX; }
186 const std::vector<std::string>&
todos()
const {
return _todos; }
198 const std::vector<std::string>&
options()
const {
return _options; }
201 bool validOption(std::string key, std::string val)
const;
219 const std::string&
status()
const {
return _status; }
273 auto pos =_status.find(word);
274 if ( pos == string::npos )
return false;
275 if ( pos > 0 && isalnum(_status[pos - 1]) )
return false;
276 if ( pos + word.length() < _status.length() &&
277 isalnum(_status[pos + word.length()]) )
return false;
301 std::string _refDataName;
302 std::string _spiresId, _inspireId;
303 std::vector<std::string> _authors;
304 std::string _summary;
305 std::string _description;
306 std::string _runInfo;
307 std::string _experiment;
308 std::string _collider;
309 std::vector<std::pair<PdgId, PdgId> > _beams;
310 std::vector<std::pair<double, double> > _energies;
312 double _luminosityfb;
313 std::vector<std::string> _references;
314 std::vector<std::string> _keywords;
319 std::vector<std::string> _todos;
320 bool _needsCrossSection;
322 std::vector<std::string> _options;
323 std::map< std::string, std::set<std::string> > _optionmap;
325 std::vector<std::string> _validation;
351 _needsCrossSection =
false;
Definition: MC_Cent_pPb.hh:10
bool hepdata() const
Check if refdata comes automatically from Hepdata.
Definition: AnalysisInfo.hh:262
AnalysisInfo()
The default constructor.
Definition: AnalysisInfo.hh:22
bool random() const
Return true if includes random variations.
Definition: AnalysisInfo.hh:251
bool obsolete() const
Return true if obsolete.
Definition: AnalysisInfo.hh:241
Holder of analysis metadata.
Definition: AnalysisInfo.hh:12
bool unvalidated() const
Return true if unvalidated.
Definition: AnalysisInfo.hh:246
void buildOptionMap()
Build a map of options to facilitate checking.
~AnalysisInfo()
The destructor.
Definition: AnalysisInfo.hh:25
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:219
bool preliminary() const
Return true if preliminary.
Definition: AnalysisInfo.hh:236
bool multiweight() const
Check if This analysis can handle mulltiple weights.
Definition: AnalysisInfo.hh:267
const std::vector< std::string > & validation() const
List a series of command lines to be used for valdation.
Definition: AnalysisInfo.hh:288
bool unphysical() const
Definition: AnalysisInfo.hh:257
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:231
bool reentrant() const
Return true if finalize() can be run multiple times for this analysis.
Definition: AnalysisInfo.hh:225
std::string toString(const AnalysisInfo &ai)
String representation.
bool needsCrossSection() const
Definition: AnalysisInfo.hh:294
bool statuscheck(string word) const
?
Definition: AnalysisInfo.hh:272
std::ostream & operator<<(std::ostream &os, const AnalysisInfo &ai)
Stream an AnalysisInfo as a text description.
Definition: AnalysisInfo.hh:365
const std::vector< std::string > & options() const
Get the option list.
Definition: AnalysisInfo.hh:198
void setReentrant(bool ree=true)
setReentrant
Definition: AnalysisInfo.hh:228
void setStatus(const std::string &status)
Set the analysis code status.
Definition: AnalysisInfo.hh:222
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:204