69 : iovIsTime_(!
pset.getParameter<
bool>(
"iovIsRunNotTime")),
70 concurrentFinder_(
pset.getParameter<
bool>(
"concurrentFinder")),
71 testForceESSourceMode_(
pset.getParameter<
bool>(
"testForceESSourceMode")),
72 findForRecordA_(
pset.getParameter<
bool>(
"findForRecordA")) {
75 std::vector<unsigned int>
temp(
pset.getParameter<std::vector<unsigned int>>(
"firstValidLumis"));
84 std::vector<unsigned int> tempInvalid(
pset.getParameter<std::vector<unsigned int>>(
"invalidLumis"));
85 for (
auto val : tempInvalid) {
92 this->findingRecord<ESTestRecordI>();
95 this->findingRecord<ESTestRecordA>();
101 auto data = std::make_unique<IOVTestInfo>();
105 <<
"ConcurrentIOVESSource::produce startIOV = " << iov.first().luminosityBlockNumber()
106 <<
" endIOV = " << iov.last().luminosityBlockNumber() <<
" IOV index = " <<
record.iovIndex()
112 <<
"ConcurrentIOVESSource::produce, testing as nonconcurrent finder and IOV changed!";
116 data->iovStartRun_ = iov.first().eventID().run();
117 data->iovEndRun_ = iov.last().eventID().run();
118 data->iovStartLumi_ = iov.first().luminosityBlockNumber();
119 data->iovEndLumi_ = iov.last().luminosityBlockNumber();
121 data->cacheIdentifier_ =
record.cacheIdentifier();
131 <<
"ConcurrentIOVESSource::produce, more than one concurrent IOV for type ESTestRecordA!";
137 return std::make_unique<ESTestDataA>(0);
142 std::vector<unsigned int> emptyVector;
143 desc.add<
bool>(
"iovIsRunNotTime",
true);
144 desc.add<
bool>(
"concurrentFinder",
true);
145 desc.add<
bool>(
"testForceESSourceMode",
false);
146 desc.add<
bool>(
"findForRecordA",
false);
147 desc.add<std::vector<unsigned int>>(
"firstValidLumis", emptyVector);
148 desc.add<std::vector<unsigned int>>(
"invalidLumis", emptyVector);
159 if (syncValue == invalidSyncValue) {
169 std::pair<std::set<edm::IOVSyncValue>::iterator, std::set<edm::IOVSyncValue>::iterator> itFound =
172 if (itFound.first == itFound.second) {
173 if (itFound.first ==
setOfIOV_.begin()) {
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
const IOVSyncValue & last() const
LuminosityBlockNumber_t luminosityBlockNumber() const
const IOVSyncValue & first() const
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
static const IOVSyncValue & endOfTime()
std::pair< Time_t, Time_t > ValidityInterval
std::unique_ptr< ESTestDataA > produceA(ESTestRecordA const &)
std::unique_ptr< IOVTestInfo > produce(ESTestRecordI const &)
const bool findForRecordA_
void addDefault(ParameterSetDescription const &psetDescription)
const bool testForceESSourceMode_
bool isConcurrentFinder() const override
ConcurrentIOVESSource(edm::ParameterSet const &)
#define DEFINE_FWK_EVENTSETUP_SOURCE(type)
static EventNumber_t maxEventNumber()
edm::WallclockTimer wallclockTimer_
char data[epos_bytes_allocation]
static const ValidityInterval & invalidInterval()
const bool concurrentFinder_
Log< level::System, true > LogAbsolute
edm::ValidityInterval validityInterval_
std::set< edm::IOVSyncValue > setOfInvalidIOV_
void setIntervalFor(edm::eventsetup::EventSetupRecordKey const &, edm::IOVSyncValue const &, edm::ValidityInterval &) override
std::set< edm::IOVSyncValue > setOfIOV_