Belle II Software development
IoVDependentConditionModule.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10#include <framework/core/Module.h>
11#include <framework/database/IntervalOfValidity.h>
12
13#include <framework/datastore/StoreObjPtr.h>
14#include <framework/dataobjects/EventMetaData.h>
15
16#include <vector>
17
18namespace Belle2 {
25 public:
28
30 void initialize() override;
31
33 void beginRun() override;
34
36 void event() override;
37
38 private:
40 std::vector<IntervalOfValidity> m_iovsToCheck;
41
43 bool m_conditionIsMet = false;
44
47
49 std::vector<std::tuple<int, int, int, int>> m_iovList;
50 };
51
53}
Module which sets its return value based on the fact, if the event is in the given run/exp interval o...
IoVDependentConditionModule()
Add the module parameters and the description.
void initialize() override
Require the event meta data and turn the minimal/maximal exp/runs to an IoV.
std::vector< std::tuple< int, int, int, int > > m_iovList
Parameter for the input iov list.
void event() override
Returns true, if the event is in the given IoV.
bool m_conditionIsMet
Internal condition: true if run/exp is in IoV.
std::vector< IntervalOfValidity > m_iovsToCheck
Returns true if in this IoV.
StoreObjPtr< EventMetaData > m_eventMetaData
Storage for the event meta data.
void beginRun() override
Set the m_conditionIsMet according to the new run.
Base class for Modules.
Definition: Module.h:72
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
Abstract base class for different kinds of events.