Skip to content

Commit 678f32b

Browse files
committed
Moved RunHelper to FWCore/Sources and renamed
This will allow other sources to reuse the code
1 parent d373bf5 commit 678f32b

File tree

9 files changed

+76
-70
lines changed

9 files changed

+76
-70
lines changed

IOPool/Input/src/RunHelper.h renamed to FWCore/Sources/interface/InputSourceRunHelper.h

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
#ifndef IOPool_Input_RunHelper_h
2-
#define IOPool_Input_RunHelper_h
1+
#ifndef IOPool_Input_InputSourceRunHelper_h
2+
#define IOPool_Input_InputSourceRunHelper_h
33

44
#include "DataFormats/Provenance/interface/RunLumiEventNumber.h"
55
#include "FWCore/Framework/interface/Frameworkfwd.h"
@@ -12,10 +12,10 @@ namespace edm {
1212
class IndexIntoFile;
1313
class ParameterSetDescription;
1414

15-
class RunHelperBase {
15+
class InputSourceRunHelperBase {
1616
public:
17-
explicit RunHelperBase() = default;
18-
virtual ~RunHelperBase();
17+
explicit InputSourceRunHelperBase() = default;
18+
virtual ~InputSourceRunHelperBase();
1919

2020
virtual InputSource::ItemType nextItemType(InputSource::ItemType const& previousItemType,
2121
InputSource::ItemType const& newItemType,
@@ -38,16 +38,16 @@ namespace edm {
3838
static void fillDescription(ParameterSetDescription& desc);
3939
};
4040

41-
class DefaultRunHelper : public RunHelperBase {
41+
class DefaultInputSourceRunHelper : public InputSourceRunHelperBase {
4242
public:
43-
explicit DefaultRunHelper() = default;
44-
~DefaultRunHelper() override;
43+
explicit DefaultInputSourceRunHelper() = default;
44+
~DefaultInputSourceRunHelper() override;
4545
};
4646

47-
class SetRunHelper : public RunHelperBase {
47+
class SetInputSourceRunHelper : public InputSourceRunHelperBase {
4848
public:
49-
explicit SetRunHelper(ParameterSet const& pset);
50-
~SetRunHelper() override;
49+
explicit SetInputSourceRunHelper(ParameterSet const& pset);
50+
~SetInputSourceRunHelper() override;
5151

5252
void setForcedRunOffset(RunNumber_t firstRun) override;
5353

@@ -62,7 +62,7 @@ namespace edm {
6262
bool firstTime_;
6363
};
6464

65-
class SetRunForEachLumiHelper : public RunHelperBase {
65+
class SetRunForEachLumiHelper : public InputSourceRunHelperBase {
6666
public:
6767
explicit SetRunForEachLumiHelper(ParameterSet const& pset);
6868
~SetRunForEachLumiHelper() override;
@@ -89,9 +89,9 @@ namespace edm {
8989
bool firstTime_;
9090
};
9191

92-
class FirstLuminosityBlockForEachRunHelper : public RunHelperBase {
92+
class FirstLuminosityBlockForEachInputSourceRunHelper : public InputSourceRunHelperBase {
9393
public:
94-
explicit FirstLuminosityBlockForEachRunHelper(ParameterSet const& pset);
94+
explicit FirstLuminosityBlockForEachInputSourceRunHelper(ParameterSet const& pset);
9595

9696
InputSource::ItemType nextItemType(InputSource::ItemType const& previousItemType,
9797
InputSource::ItemType const& newIemType,
@@ -114,7 +114,7 @@ namespace edm {
114114
RunNumber_t lastUsedRunNumber_;
115115
bool fakeNewRun_;
116116
};
117-
std::unique_ptr<RunHelperBase> makeRunHelper(ParameterSet const& pset);
117+
std::unique_ptr<InputSourceRunHelperBase> makeInputSourceRunHelper(ParameterSet const& pset);
118118
} // namespace edm
119119

120120
#endif

IOPool/Input/src/RunHelper.cc renamed to FWCore/Sources/src/InputSourceRunHelper.cc

Lines changed: 43 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*----------------------------------------------------------------------
22
----------------------------------------------------------------------*/
3-
#include "RunHelper.h"
3+
#include "FWCore/Sources/interface/InputSourceRunHelper.h"
44

55
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
66
#include "FWCore/Utilities/interface/EDMException.h"
@@ -9,11 +9,11 @@
99

1010
namespace edm {
1111

12-
std::unique_ptr<RunHelperBase> makeRunHelper(ParameterSet const& pset) {
12+
std::unique_ptr<InputSourceRunHelperBase> makeInputSourceRunHelper(ParameterSet const& pset) {
1313
if (pset.exists("setRunNumber")) {
1414
RunNumber_t run = pset.getUntrackedParameter<unsigned int>("setRunNumber");
1515
if (run != 0U) {
16-
return std::make_unique<SetRunHelper>(pset);
16+
return std::make_unique<SetInputSourceRunHelper>(pset);
1717
}
1818
}
1919
if (pset.exists("setRunNumberForEachLumi")) {
@@ -24,33 +24,34 @@ namespace edm {
2424
}
2525
if (pset.exists("firstLuminosityBlockForEachRun")) {
2626
if (not pset.getUntrackedParameter<std::vector<LuminosityBlockID>>("firstLuminosityBlockForEachRun").empty()) {
27-
return std::make_unique<FirstLuminosityBlockForEachRunHelper>(pset);
27+
return std::make_unique<FirstLuminosityBlockForEachInputSourceRunHelper>(pset);
2828
}
2929
}
30-
return std::make_unique<DefaultRunHelper>();
30+
return std::make_unique<DefaultInputSourceRunHelper>();
3131
}
3232

33-
RunHelperBase::~RunHelperBase() {}
33+
InputSourceRunHelperBase::~InputSourceRunHelperBase() {}
3434

35-
void RunHelperBase::checkLumiConsistency(LuminosityBlockNumber_t lumi, LuminosityBlockNumber_t originalLumi) const {
35+
void InputSourceRunHelperBase::checkLumiConsistency(LuminosityBlockNumber_t lumi,
36+
LuminosityBlockNumber_t originalLumi) const {
3637
assert(lumi == originalLumi);
3738
}
3839

39-
void RunHelperBase::checkRunConsistency(RunNumber_t run, RunNumber_t originalRun) const {
40+
void InputSourceRunHelperBase::checkRunConsistency(RunNumber_t run, RunNumber_t originalRun) const {
4041
assert(run == originalRun);
4142
}
4243

43-
DefaultRunHelper::~DefaultRunHelper() {}
44+
DefaultInputSourceRunHelper::~DefaultInputSourceRunHelper() {}
4445

45-
SetRunHelper::SetRunHelper(ParameterSet const& pset)
46-
: RunHelperBase(),
46+
SetInputSourceRunHelper::SetInputSourceRunHelper(ParameterSet const& pset)
47+
: InputSourceRunHelperBase(),
4748
setRun_(pset.getUntrackedParameter<unsigned int>("setRunNumber")),
4849
forcedRunOffset_(0),
4950
firstTime_(true) {}
5051

51-
SetRunHelper::~SetRunHelper() {}
52+
SetInputSourceRunHelper::~SetInputSourceRunHelper() {}
5253

53-
void SetRunHelper::setForcedRunOffset(RunNumber_t firstRun) {
54+
void SetInputSourceRunHelper::setForcedRunOffset(RunNumber_t firstRun) {
5455
if (firstTime_ && setRun_ != 0) {
5556
forcedRunOffset_ = setRun_ - firstRun;
5657
if (forcedRunOffset_ < 0) {
@@ -63,21 +64,21 @@ namespace edm {
6364
firstTime_ = false;
6465
}
6566

66-
void SetRunHelper::overrideRunNumber(RunID& id) {
67+
void SetInputSourceRunHelper::overrideRunNumber(RunID& id) {
6768
id = RunID(id.run() + forcedRunOffset_);
6869
if (id < RunID::firstValidRun())
6970
id = RunID::firstValidRun();
7071
}
7172

72-
void SetRunHelper::overrideRunNumber(LuminosityBlockID& id) {
73+
void SetInputSourceRunHelper::overrideRunNumber(LuminosityBlockID& id) {
7374
id = LuminosityBlockID(id.run() + forcedRunOffset_, id.luminosityBlock());
7475
if (RunID(id.run()) < RunID::firstValidRun())
7576
id = LuminosityBlockID(RunID::firstValidRun().run(), id.luminosityBlock());
7677
}
7778

78-
void SetRunHelper::overrideRunNumber(EventID& id, bool isRealData) {
79+
void SetInputSourceRunHelper::overrideRunNumber(EventID& id, bool isRealData) {
7980
if (isRealData) {
80-
throw Exception(errors::Configuration, "SetRunHelper::overrideRunNumber()")
81+
throw Exception(errors::Configuration, "SetInputSourceRunHelper::overrideRunNumber()")
8182
<< "The 'setRunNumber' parameter of PoolSource cannot be used with real data.\n";
8283
}
8384
id = EventID(id.run() + forcedRunOffset_, id.luminosityBlock(), id.event());
@@ -87,12 +88,12 @@ namespace edm {
8788
}
8889
}
8990

90-
void SetRunHelper::checkRunConsistency(RunNumber_t run, RunNumber_t originalRun) const {
91+
void SetInputSourceRunHelper::checkRunConsistency(RunNumber_t run, RunNumber_t originalRun) const {
9192
assert(run == originalRun + forcedRunOffset_);
9293
}
9394

9495
SetRunForEachLumiHelper::SetRunForEachLumiHelper(ParameterSet const& pset)
95-
: RunHelperBase(),
96+
: InputSourceRunHelperBase(),
9697
setRunNumberForEachLumi_(pset.getUntrackedParameter<std::vector<unsigned int>>("setRunNumberForEachLumi")),
9798
indexOfNextRunNumber_(0),
9899
realRunNumber_(0),
@@ -163,17 +164,19 @@ namespace edm {
163164
assert(run == runNumberToUseForThisLumi());
164165
}
165166

166-
FirstLuminosityBlockForEachRunHelper::FirstLuminosityBlockForEachRunHelper(ParameterSet const& pset)
167+
FirstLuminosityBlockForEachInputSourceRunHelper::FirstLuminosityBlockForEachInputSourceRunHelper(
168+
ParameterSet const& pset)
167169
: lumiToRun_(pset.getUntrackedParameter<std::vector<edm::LuminosityBlockID>>("firstLuminosityBlockForEachRun")),
168170
realRunNumber_{0},
169171
lastUsedRunNumber_{0},
170172
fakeNewRun_{false} {}
171173

172-
InputSource::ItemType FirstLuminosityBlockForEachRunHelper::nextItemType(InputSource::ItemType const& previousItemType,
173-
InputSource::ItemType const& newItemType,
174-
RunNumber_t,
175-
LuminosityBlockNumber_t iLumi,
176-
EventNumber_t) {
174+
InputSource::ItemType FirstLuminosityBlockForEachInputSourceRunHelper::nextItemType(
175+
InputSource::ItemType const& previousItemType,
176+
InputSource::ItemType const& newItemType,
177+
RunNumber_t,
178+
LuminosityBlockNumber_t iLumi,
179+
EventNumber_t) {
177180
if (newItemType == InputSource::ItemType::IsLumi && previousItemType != InputSource::ItemType::IsRun) {
178181
auto run = findRunFromLumi(iLumi);
179182
if (run == 0) {
@@ -189,9 +192,11 @@ namespace edm {
189192
return newItemType;
190193
}
191194

192-
RunNumber_t FirstLuminosityBlockForEachRunHelper::runNumberToUseForThisLumi() const { return lastUsedRunNumber_; }
195+
RunNumber_t FirstLuminosityBlockForEachInputSourceRunHelper::runNumberToUseForThisLumi() const {
196+
return lastUsedRunNumber_;
197+
}
193198

194-
void FirstLuminosityBlockForEachRunHelper::checkForNewRun(RunNumber_t run, LuminosityBlockNumber_t iLumi) {
199+
void FirstLuminosityBlockForEachInputSourceRunHelper::checkForNewRun(RunNumber_t run, LuminosityBlockNumber_t iLumi) {
195200
if (realRunNumber_ != 0 && run != realRunNumber_) {
196201
throw Exception(errors::MismatchedInputFiles, "PoolSource::checkForNewRun")
197202
<< " Parameter 'firstLuminosityBlockForEachRun' can only process a single run.\n"
@@ -202,25 +207,28 @@ namespace edm {
202207
fakeNewRun_ = false;
203208
}
204209

205-
void FirstLuminosityBlockForEachRunHelper::overrideRunNumber(RunID& id) { id = RunID(runNumberToUseForThisLumi()); }
210+
void FirstLuminosityBlockForEachInputSourceRunHelper::overrideRunNumber(RunID& id) {
211+
id = RunID(runNumberToUseForThisLumi());
212+
}
206213

207-
void FirstLuminosityBlockForEachRunHelper::overrideRunNumber(LuminosityBlockID& id) {
214+
void FirstLuminosityBlockForEachInputSourceRunHelper::overrideRunNumber(LuminosityBlockID& id) {
208215
id = LuminosityBlockID(runNumberToUseForThisLumi(), id.luminosityBlock());
209216
}
210217

211-
void FirstLuminosityBlockForEachRunHelper::overrideRunNumber(EventID& id, bool isRealData) {
218+
void FirstLuminosityBlockForEachInputSourceRunHelper::overrideRunNumber(EventID& id, bool isRealData) {
212219
if (isRealData) {
213-
throw Exception(errors::Configuration, "FirstLuminosityBlockForEachRunHelper::overrideRunNumber()")
220+
throw Exception(errors::Configuration, "FirstLuminosityBlockForEachInputSourceRunHelper::overrideRunNumber()")
214221
<< "The 'firstLuminosityBlockForEachRun' parameter of PoolSource cannot be used with real data.\n";
215222
}
216223
id = EventID(runNumberToUseForThisLumi(), id.luminosityBlock(), id.event());
217224
}
218225

219-
void FirstLuminosityBlockForEachRunHelper::checkRunConsistency(RunNumber_t run, RunNumber_t originalRun) const {
226+
void FirstLuminosityBlockForEachInputSourceRunHelper::checkRunConsistency(RunNumber_t run,
227+
RunNumber_t originalRun) const {
220228
assert(run == runNumberToUseForThisLumi());
221229
}
222230

223-
RunNumber_t FirstLuminosityBlockForEachRunHelper::findRunFromLumi(LuminosityBlockNumber_t iLumi) const {
231+
RunNumber_t FirstLuminosityBlockForEachInputSourceRunHelper::findRunFromLumi(LuminosityBlockNumber_t iLumi) const {
224232
RunNumber_t run = 0;
225233
for (auto const& lumiID : lumiToRun_) {
226234
if (lumiID.luminosityBlock() > iLumi) {
@@ -229,15 +237,15 @@ namespace edm {
229237
run = lumiID.run();
230238
}
231239
if (0 == run) {
232-
throw Exception(errors::Configuration, "FirstLuminosityBlockForEachRunHelper::findRunFromLumi()")
240+
throw Exception(errors::Configuration, "FirstLuminosityBlockForEachInputSourceRunHelper::findRunFromLumi()")
233241
<< "The 'firstLuminosityBlockForEachRun' parameter does not have a matching Run number for LuminosityBlock "
234242
"number: "
235243
<< iLumi << ".\n";
236244
}
237245
return run;
238246
}
239247

240-
void RunHelperBase::fillDescription(ParameterSetDescription& desc) {
248+
void InputSourceRunHelperBase::fillDescription(ParameterSetDescription& desc) {
241249
desc.addOptionalNode(ParameterDescription<unsigned int>("setRunNumber", 0U, false) xor
242250
ParameterDescription<std::vector<unsigned int>>(
243251
"setRunNumberForEachLumi", std::vector<unsigned int>(), false) xor

IOPool/Input/src/EmbeddedRootSource.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
----------------------------------------------------------------------*/
33
#include "EmbeddedRootSource.h"
44
#include "InputFile.h"
5-
#include "RunHelper.h"
65
#include "RootEmbeddedFileSequence.h"
76
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
87
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
98
#include "FWCore/Sources/interface/VectorInputSourceDescription.h"
9+
#include "FWCore/Sources/interface/InputSourceRunHelper.h"
1010

1111
namespace edm {
1212

@@ -29,7 +29,7 @@ namespace edm {
2929
bypassVersionCheck_(pset.getUntrackedParameter<bool>("bypassVersionCheck", false)),
3030
treeMaxVirtualSize_(pset.getUntrackedParameter<int>("treeMaxVirtualSize", -1)),
3131
productSelectorRules_(pset, "inputCommands", "InputSource"),
32-
runHelper_(new DefaultRunHelper()),
32+
runHelper_(new DefaultInputSourceRunHelper()),
3333
catalog_(pset.getUntrackedParameter<std::vector<std::string> >("fileNames"),
3434
pset.getUntrackedParameter<std::string>("overrideCatalog", std::string())),
3535
// Note: fileSequence_ needs to be initialized last, because it uses data members

IOPool/Input/src/EmbeddedRootSource.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ namespace edm {
2727

2828
class ConfigurationDescriptions;
2929
class FileCatalogItem;
30-
class RunHelperBase;
30+
class InputSourceRunHelperBase;
3131
class RootEmbeddedFileSequence;
3232
struct VectorInputSourceDescription;
3333

@@ -44,7 +44,7 @@ namespace edm {
4444
unsigned int nStreams() const { return nStreams_; }
4545
int treeMaxVirtualSize() const { return treeMaxVirtualSize_; }
4646
ProductSelectorRules const& productSelectorRules() const { return productSelectorRules_; }
47-
RunHelperBase* runHelper() { return runHelper_.get(); }
47+
InputSourceRunHelperBase* runHelper() { return runHelper_.get(); }
4848

4949
static void fillDescriptions(ConfigurationDescriptions& descriptions);
5050

@@ -67,7 +67,7 @@ namespace edm {
6767
bool bypassVersionCheck_;
6868
int const treeMaxVirtualSize_;
6969
ProductSelectorRules productSelectorRules_;
70-
std::unique_ptr<RunHelperBase> runHelper_;
70+
std::unique_ptr<InputSourceRunHelperBase> runHelper_;
7171

7272
InputFileCatalog catalog_;
7373
edm::propagate_const<std::unique_ptr<RootEmbeddedFileSequence>> fileSequence_;

IOPool/Input/src/PoolSource.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
#include "InputFile.h"
55
#include "RootPrimaryFileSequence.h"
66
#include "RootSecondaryFileSequence.h"
7-
#include "RunHelper.h"
87
#include "DataFormats/Common/interface/ThinnedAssociation.h"
98
#include "DataFormats/Provenance/interface/ProductDescription.h"
109
#include "DataFormats/Provenance/interface/IndexIntoFile.h"
@@ -19,6 +18,7 @@
1918
#include "FWCore/Framework/interface/SharedResourcesAcquirer.h"
2019
#include "FWCore/Framework/interface/RunPrincipal.h"
2120
#include "FWCore/Framework/interface/ProductResolversFactory.h"
21+
#include "FWCore/Sources/interface/InputSourceRunHelper.h"
2222
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
2323
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
2424
#include "FWCore/Utilities/interface/EDMException.h"
@@ -83,7 +83,7 @@ namespace edm {
8383
dropDescendants_(pset.getUntrackedParameter<bool>("dropDescendantsOfDroppedBranches")),
8484
labelRawDataLikeMC_(pset.getUntrackedParameter<bool>("labelRawDataLikeMC")),
8585
delayReadingEventProducts_(pset.getUntrackedParameter<bool>("delayReadingEventProducts")),
86-
runHelper_(makeRunHelper(pset)),
86+
runHelper_(makeInputSourceRunHelper(pset)),
8787
resourceSharedWithDelayedReaderPtr_(),
8888
// Note: primaryFileSequence_ and secondaryFileSequence_ need to be initialized last, because they use data members
8989
// initialized previously in their own initialization.
@@ -329,7 +329,7 @@ namespace edm {
329329
ProductSelectorRules::fillDescription(desc, "inputCommands");
330330
InputSource::fillDescription(desc);
331331
RootPrimaryFileSequence::fillDescription(desc);
332-
RunHelperBase::fillDescription(desc);
332+
InputSourceRunHelperBase::fillDescription(desc);
333333

334334
descriptions.add("source", desc);
335335
}

IOPool/Input/src/PoolSource.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ namespace edm {
2727
class FileCatalogItem;
2828
class RootPrimaryFileSequence;
2929
class RootSecondaryFileSequence;
30-
class RunHelperBase;
30+
class InputSourceRunHelperBase;
3131

3232
class PoolSource : public InputSource {
3333
public:
@@ -45,7 +45,7 @@ namespace edm {
4545
unsigned int nStreams() const { return nStreams_; }
4646
int treeMaxVirtualSize() const { return treeMaxVirtualSize_; }
4747
ProductSelectorRules const& productSelectorRules() const { return productSelectorRules_; }
48-
RunHelperBase* runHelper() { return runHelper_.get(); }
48+
InputSourceRunHelperBase* runHelper() { return runHelper_.get(); }
4949

5050
static void fillDescriptions(ConfigurationDescriptions& descriptions);
5151

@@ -91,7 +91,7 @@ namespace edm {
9191
bool labelRawDataLikeMC_;
9292
bool delayReadingEventProducts_;
9393

94-
edm::propagate_const<std::unique_ptr<RunHelperBase>> runHelper_;
94+
edm::propagate_const<std::unique_ptr<InputSourceRunHelperBase>> runHelper_;
9595
std::unique_ptr<SharedResourcesAcquirer>
9696
resourceSharedWithDelayedReaderPtr_; // We do not use propagate_const because the acquirer is itself mutable.
9797
std::shared_ptr<std::recursive_mutex> mutexSharedWithDelayedReader_;

0 commit comments

Comments
 (0)