11#ifndef DataFormats_Provenance_ProcessConfiguration_h
22#define DataFormats_Provenance_ProcessConfiguration_h
33
4+ #include " DataFormats/Provenance/interface/HardwareResourcesDescription.h"
45#include " DataFormats/Provenance/interface/ParameterSetID.h"
5- #include " DataFormats/Provenance/interface/PassID.h"
66#include " DataFormats/Provenance/interface/ProcessConfigurationID.h"
77#include " DataFormats/Provenance/interface/ReleaseVersion.h"
88
@@ -14,18 +14,22 @@ namespace edm {
1414 class ProcessConfiguration {
1515 public:
1616 ProcessConfiguration ();
17- ProcessConfiguration (std::string const & procName, ReleaseVersion const & relVersion, PassID const & pass);
17+ ProcessConfiguration (std::string const & procName,
18+ ReleaseVersion const & relVersion,
19+ HardwareResourcesDescription const & hwDescription);
1820
1921 ProcessConfiguration (std::string const & procName,
2022 ParameterSetID const & pSetID,
2123 ReleaseVersion const & relVersion,
22- PassID const & pass );
24+ HardwareResourcesDescription const & hwDescription );
2325
2426 std::string const & processName () const { return processName_; }
2527 ParameterSetID const & parameterSetID () const ;
2628 bool isParameterSetValid () const { return parameterSetID_.isValid (); }
2729 ReleaseVersion const & releaseVersion () const { return releaseVersion_; }
28- PassID const & passID () const { return passID_; }
30+ // / Note: this function parses the string on every call, so it should be called rarely
31+ HardwareResourcesDescription hardwareResourcesDescription () const { return HardwareResourcesDescription (passID_); }
32+ std::string const & hardwareResourcesDescriptionSerialized () const { return passID_; }
2933 ProcessConfigurationID id () const ;
3034
3135 void setParameterSetID (ParameterSetID const & pSetID);
@@ -55,7 +59,12 @@ namespace edm {
5559 std::string processName_;
5660 ParameterSetID parameterSetID_;
5761 ReleaseVersion releaseVersion_;
58- PassID passID_;
62+ // The passID_ really holds the HardwareResourcesDescription in a
63+ // serialized form. Therefore the passID name is a complete
64+ // misnomer, but was kept to make forward-compabitility easier
65+ // (even if that not formally not supported, this construct is a
66+ // precaution in case a further Run3 use case would surface)
67+ std::string passID_;
5968 Transients transient_;
6069 };
6170
@@ -65,7 +74,8 @@ namespace edm {
6574
6675 inline bool operator ==(ProcessConfiguration const & a, ProcessConfiguration const & b) {
6776 return a.processName () == b.processName () && a.parameterSetID () == b.parameterSetID () &&
68- a.releaseVersion () == b.releaseVersion () && a.passID () == b.passID ();
77+ a.releaseVersion () == b.releaseVersion () &&
78+ a.hardwareResourcesDescriptionSerialized () == b.hardwareResourcesDescriptionSerialized ();
6979 }
7080
7181 inline bool operator !=(ProcessConfiguration const & a, ProcessConfiguration const & b) { return !(a == b); }
0 commit comments