Skip to content

Commit 904a8bf

Browse files
committed
Retrieve original run number as FMQ property and store in Activity
Closes QC-1295
1 parent ada15f4 commit 904a8bf

File tree

11 files changed

+24
-9
lines changed

11 files changed

+24
-9
lines changed

Framework/include/QualityControl/Activity.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ class Activity
3939
ValidityInterval validity = gFullValidityInterval,
4040
const std::string& beamType = "",
4141
const std::string& partitionName = "",
42-
int fillNumber = 0)
42+
int fillNumber = 0,
43+
int originalId = 0)
4344
: mId(id),
4445
mType(type),
4546
mPeriodName(periodName),
@@ -48,7 +49,8 @@ class Activity
4849
mValidity(validity),
4950
mBeamType(beamType),
5051
mPartitionName(partitionName),
51-
mFillNumber(fillNumber) {}
52+
mFillNumber(fillNumber),
53+
mOriginalId(originalId) {}
5254

5355
/// Copy constructor
5456
Activity(const Activity& other) = default;
@@ -80,6 +82,7 @@ class Activity
8082
std::string mBeamType{};
8183
std::string mPartitionName{};
8284
int mFillNumber{ 0 };
85+
int mOriginalId{ 0 }; // original run number of REPLAY runs
8386

8487
ClassDef(Activity, 6);
8588
};

Framework/include/QualityControl/ActivityHelpers.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ Activity commonActivityFields(const RangeOfActivities auto& activities)
115115
setMemberIfCommon(result, activities, &Activity::mBeamType);
116116
setMemberIfCommon(result, activities, &Activity::mPartitionName);
117117
setMemberIfCommon(result, activities, &Activity::mFillNumber);
118+
setMemberIfCommon(result, activities, &Activity::mOriginalId);
118119
return result;
119120
}
120121

Framework/include/QualityControl/CommonSpec.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ struct CommonSpec {
3838
std::string activityBeamType;
3939
std::string activityPartitionName;
4040
int activityFillNumber = 0;
41+
int activityOriginalNumber = 0;
4142
std::string monitoringUrl = "infologger:///debug?qc";
4243
std::string consulUrl;
4344
std::string conditionDBUrl = "http://ccdb-test.cern.ch:8080";

Framework/include/QualityControl/ObjectMetadataKeys.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ constexpr auto periodName = "PeriodName";
4444
constexpr auto beamType = "BeamType";
4545
constexpr auto fillNumber = "FillNumber";
4646
constexpr auto partitionName = "PartitionName";
47+
constexpr auto originalRunNumber = "OriginalRunNumber";
4748

4849
} // namespace o2::quality_control::repository::metadata_keys
4950

Framework/src/Activity.cxx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ std::ostream& operator<<(std::ostream& out, const Activity& activity)
3434
<< ", " << metadata_keys::validUntil << ": " << activity.mValidity.getMax()
3535
<< ", " << metadata_keys::beamType << ": '" << activity.mBeamType << "'"
3636
<< ", " << metadata_keys::partitionName << ": '" << activity.mPartitionName << "'"
37-
<< ", " << metadata_keys::fillNumber << ": '" << activity.mFillNumber << "'";
37+
<< ", " << metadata_keys::fillNumber << ": '" << activity.mFillNumber << "'"
38+
<< ", " << metadata_keys::originalRunNumber << ": '" << activity.mOriginalId << "'";
3839
return out;
3940
}
4041

@@ -72,7 +73,8 @@ bool Activity::operator==(const Activity& other) const
7273
mPassName == other.mPassName &&
7374
mProvenance == other.mProvenance &&
7475
mValidity == other.mValidity &&
75-
mBeamType == other.mBeamType;
76+
mBeamType == other.mBeamType &&
77+
mOriginalId == other.mOriginalId;
7678
}
7779

7880
} // namespace o2::quality_control::core

Framework/src/AggregatorRunnerFactory.cxx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,8 @@ AggregatorRunnerConfig AggregatorRunnerFactory::extractRunnerConfig(const core::
7979
{ commonSpec.activityStart, commonSpec.activityEnd },
8080
commonSpec.activityBeamType,
8181
commonSpec.activityPartitionName,
82-
commonSpec.activityFillNumber
82+
commonSpec.activityFillNumber,
83+
commonSpec.activityOriginalNumber
8384
};
8485

8586
return {

Framework/src/CheckRunnerFactory.cxx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,8 @@ CheckRunnerConfig CheckRunnerFactory::extractConfig(const CommonSpec& commonSpec
8888
{ commonSpec.activityStart, commonSpec.activityEnd },
8989
commonSpec.activityBeamType,
9090
commonSpec.activityPartitionName,
91-
commonSpec.activityFillNumber
91+
commonSpec.activityFillNumber,
92+
commonSpec.activityOriginalNumber
9293
};
9394
return {
9495
commonSpec.database,

Framework/src/InfrastructureSpecReader.cxx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ CommonSpec InfrastructureSpecReader::readSpecEntry<CommonSpec>(const std::string
6868
spec.activityBeamType = commonTree.get<std::string>("Activity.beamType", spec.activityBeamType);
6969
spec.activityPartitionName = commonTree.get<std::string>("Activity.partitionName", spec.activityPartitionName);
7070
spec.activityFillNumber = commonTree.get<int>("Activity.fillNumber", spec.activityFillNumber);
71+
spec.activityOriginalNumber = commonTree.get<int>("Activity.originalNumber", spec.activityOriginalNumber);
7172
spec.monitoringUrl = commonTree.get<std::string>("monitoring.url", spec.monitoringUrl);
7273
spec.consulUrl = commonTree.get<std::string>("consul.url", spec.consulUrl);
7374
spec.conditionDBUrl = commonTree.get<std::string>("conditionDB.url", spec.conditionDBUrl);

Framework/src/TaskRunnerFactory.cxx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,8 @@ TaskRunnerConfig TaskRunnerFactory::extractConfig(const CommonSpec& globalConfig
162162
{ globalConfig.activityStart, globalConfig.activityEnd },
163163
globalConfig.activityBeamType,
164164
globalConfig.activityPartitionName,
165-
globalConfig.activityFillNumber
165+
globalConfig.activityFillNumber,
166+
globalConfig.activityOriginalNumber
166167
};
167168

168169
o2::globaltracking::RecoContainer rd;

Framework/src/runnerUtils.cxx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ Activity computeActivity(framework::ServiceRegistryRef services, const Activity&
106106
auto periodName = computeStringActivityField(services, "lhc_period", fallbackActivity.mPeriodName);
107107
auto fillNumber = computeNumericalActivityField<int>(services, "fill_info_fill_number", fallbackActivity.mFillNumber);
108108
auto beam_type = computeStringActivityField(services, "pdp_beam_type", fallbackActivity.mBeamType);
109+
auto originalRunNumber = computeNumericalActivityField<int>(services, "original_run_number", fallbackActivity.mOriginalId);
109110

110111
Activity activity(
111112
runNumber,
@@ -116,7 +117,8 @@ Activity computeActivity(framework::ServiceRegistryRef services, const Activity&
116117
{ runStartTimeMs, runEndTimeMs },
117118
beam_type,
118119
partitionName,
119-
fillNumber);
120+
fillNumber,
121+
originalRunNumber);
120122

121123
return activity;
122124
}

0 commit comments

Comments
 (0)