Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
DQMServices
StreamerIO
plugins
DQMFileIterator.h
Go to the documentation of this file.
1
#ifndef IOPool_DQMStreamer_DQMFilerIterator_h
2
#define IOPool_DQMStreamer_DQMFilerIterator_h
3
4
#include "
FWCore/ServiceRegistry/interface/Service.h
"
5
#include "
FWCore/ParameterSet/interface/ConfigurationDescriptions.h
"
6
#include "
FWCore/ParameterSet/interface/ParameterSetDescription.h
"
7
8
#include "boost/filesystem.hpp"
9
10
#include <map>
11
#include <unordered_set>
12
#include <chrono>
13
14
#include "
DQMMonitoringService.h
"
15
16
namespace
dqmservices {
17
18
class
DQMFileIterator
{
19
public
:
20
struct
LumiEntry
{
21
std::string
filename
;
22
23
unsigned
int
file_ls
;
24
std::size_t
n_events_processed
;
25
std::size_t
n_events_accepted
;
26
std::string
datafn
;
27
28
static
LumiEntry
load_json
(
const
std::string
&
filename
,
int
lumiNumber,
29
int
datafn_position);
30
31
std::string
state
;
32
};
33
34
struct
EorEntry
{
35
bool
loaded
=
false
;
36
std::string
filename
;
37
38
std::size_t
n_events
;
39
std::size_t
n_lumi
;
40
41
static
EorEntry
load_json
(
const
std::string
&
filename
);
42
};
43
44
enum
State
{
45
OPEN
= 0,
46
EOR_CLOSING
= 1,
// EoR file found, but lumis are still pending
47
EOR
= 2,
48
};
49
50
DQMFileIterator
(
edm::ParameterSet
const
&
pset
);
51
~DQMFileIterator
();
52
void
initialise
(
int
run
,
const
std::string
&,
const
std::string
&);
53
54
State
state
();
55
56
/* methods to iterate the actual files */
57
58
/* nextLumiNumber_ is the first unprocessed lumi number
59
* lumiReady() returns if the next lumi is ready to be loaded
60
* open() opens a file and advances the pointer to the next lumi
61
*
62
* front() a reference to the description (LumiEntry)
63
* pop() advances to the next lumi
64
*/
65
bool
lumiReady
();
66
LumiEntry
open
();
67
68
void
pop
();
69
std::string
make_path
(
const
std::string
&
fn
);
70
71
/* control */
72
void
reset
();
73
void
update_state
();
74
75
/* misc helpers for input sources */
76
void
logFileAction
(
const
std::string
&
msg
,
77
const
std::string
&
fileName
=
""
)
const
;
78
void
logLumiState
(
const
LumiEntry&
lumi
,
const
std::string
&
msg
);
79
80
void
delay
();
81
82
unsigned
int
runNumber
();
83
unsigned
int
lastLumiFound
();
84
void
advanceToLumi
(
unsigned
int
lumi
,
std::string
reason);
85
86
static
void
fillDescription
(
edm::ParameterSetDescription
&
d
);
87
88
private
:
89
unsigned
int
runNumber_
;
90
std::string
runInputDir_
;
91
std::string
streamLabel_
;
92
unsigned
long
delayMillis_
;
93
long
nextLumiTimeoutMillis_
;
94
long
forceFileCheckTimeoutMillis_
;
95
bool
flagScanOnce_
;
96
97
// file name position in the json file
98
unsigned
int
datafnPosition_
;
99
std::string
runPath_
;
100
101
EorEntry
eor_
;
102
State
state_
;
103
104
unsigned
int
nextLumiNumber_
;
105
std::map<unsigned int, LumiEntry>
lumiSeen_
;
106
std::unordered_set<std::string>
filesSeen_
;
107
108
/* this should be different,
109
* since time between hosts might be not in sync */
110
std::time_t
runPathMTime_
;
111
std::chrono::high_resolution_clock::time_point
runPathLastCollect_
;
112
113
/* this is for missing lumi files */
114
std::chrono::high_resolution_clock::time_point
lastLumiLoad_
;
115
116
void
collect
(
bool
ignoreTimers);
117
void
monUpdateLumi
(
const
LumiEntry
&
lumi
);
118
119
/* this is for monitoring */
120
edm::Service<DQMMonitoringService>
mon_
;
121
};
122
123
}
/* end of namespace */
124
125
#endif
dqmservices::DQMFileIterator::eor_
EorEntry eor_
Definition:
DQMFileIterator.h:101
dqmservices::DQMFileIterator::State
State
Definition:
DQMFileIterator.h:44
dqmservices::DQMFileIterator::delayMillis_
unsigned long delayMillis_
Definition:
DQMFileIterator.h:92
DQMMonitoringService.h
edm::Service
Definition:
Service.h:30
dqmservices::DQMFileIterator::make_path
std::string make_path(const std::string &fn)
Definition:
DQMFileIterator.cc:165
dqmservices::DQMFileIterator::LumiEntry::datafn
std::string datafn
Definition:
DQMFileIterator.h:26
dqmservices::DQMFileIterator::lastLumiFound
unsigned int lastLumiFound()
Definition:
DQMFileIterator.cc:122
dqmservices::DQMFileIterator::mon_
edm::Service< DQMMonitoringService > mon_
Definition:
DQMFileIterator.h:120
dqmservices::DQMFileIterator::logLumiState
void logLumiState(const LumiEntry &lumi, const std::string &msg)
Definition:
DQMFileIterator.cc:353
fjr2json.lumi
tuple lumi
Definition:
fjr2json.py:35
dqmservices::DQMFileIterator::pop
void pop()
dqmservices::DQMFileIterator::initialise
void initialise(int run, const std::string &, const std::string &)
TrackValidation_cff.pset
tuple pset
Definition:
TrackValidation_cff.py:374
dqmservices::DQMFileIterator::LumiEntry::file_ls
unsigned int file_ls
Definition:
DQMFileIterator.h:23
dqmservices::DQMFileIterator::lumiSeen_
std::map< unsigned int, LumiEntry > lumiSeen_
Definition:
DQMFileIterator.h:105
dqmservices::DQMFileIterator::EorEntry::n_events
std::size_t n_events
Definition:
DQMFileIterator.h:38
visualization-live-secondInstance_cfg.msg
string msg
Definition:
visualization-live-secondInstance_cfg.py:15
dqmservices::DQMFileIterator::flagScanOnce_
bool flagScanOnce_
Definition:
DQMFileIterator.h:95
dqmservices::DQMFileIterator::LumiEntry::n_events_accepted
std::size_t n_events_accepted
Definition:
DQMFileIterator.h:25
dqmservices::DQMFileIterator::EorEntry::n_lumi
std::size_t n_lumi
Definition:
DQMFileIterator.h:39
dqmservices::DQMFileIterator::EorEntry::loaded
bool loaded
Definition:
DQMFileIterator.h:35
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:255
edm::ParameterSetDescription
Definition:
ParameterSetDescription.h:50
ztail.d
tuple d
Definition:
ztail.py:151
dqmservices::DQMFileIterator::DQMFileIterator
DQMFileIterator(edm::ParameterSet const &pset)
Definition:
DQMFileIterator.cc:63
dqmservices::DQMFileIterator::LumiEntry::n_events_processed
std::size_t n_events_processed
Definition:
DQMFileIterator.h:24
dqmservices::DQMFileIterator::EOR_CLOSING
Definition:
DQMFileIterator.h:46
dqmservices::DQMFileIterator
Definition:
DQMFileIterator.h:18
ParameterSetDescription.h
MillePedeFileConverter_cfg.fileName
tuple fileName
Definition:
MillePedeFileConverter_cfg.py:32
dqmservices::DQMFileIterator::nextLumiTimeoutMillis_
long nextLumiTimeoutMillis_
Definition:
DQMFileIterator.h:93
personalPlayback.fn
string fn
Definition:
personalPlayback.py:514
dqmservices::DQMFileIterator::runNumber_
unsigned int runNumber_
Definition:
DQMFileIterator.h:89
dqmservices::DQMFileIterator::runNumber
unsigned int runNumber()
Definition:
DQMFileIterator.cc:120
Service.h
dqmservices::DQMFileIterator::logFileAction
void logFileAction(const std::string &msg, const std::string &fileName="") const
Definition:
DQMFileIterator.cc:346
dqmservices::DQMFileIterator::LumiEntry::state
std::string state
Definition:
DQMFileIterator.h:31
dqmservices::DQMFileIterator::~DQMFileIterator
~DQMFileIterator()
Definition:
DQMFileIterator.cc:79
dqmservices::DQMFileIterator::EorEntry::load_json
static EorEntry load_json(const std::string &filename)
Definition:
DQMFileIterator.cc:45
DTTTrigCorrFirst.run
run
Definition:
DTTTrigCorrFirst.py:63
dqmservices::DQMFileIterator::lastLumiLoad_
std::chrono::high_resolution_clock::time_point lastLumiLoad_
Definition:
DQMFileIterator.h:114
dqmservices::DQMFileIterator::LumiEntry::load_json
static LumiEntry load_json(const std::string &filename, int lumiNumber, int datafn_position)
Definition:
DQMFileIterator.cc:19
dqmservices::DQMFileIterator::runPath_
std::string runPath_
Definition:
DQMFileIterator.h:99
dqmservices::DQMFileIterator::EorEntry::filename
std::string filename
Definition:
DQMFileIterator.h:36
dqmservices::DQMFileIterator::open
LumiEntry open()
Definition:
DQMFileIterator.cc:106
dqmservices::DQMFileIterator::reset
void reset()
Definition:
DQMFileIterator.cc:81
dqmservices::DQMFileIterator::EorEntry
Definition:
DQMFileIterator.h:34
dqmservices::DQMFileIterator::OPEN
Definition:
DQMFileIterator.h:45
dqmservices::DQMFileIterator::streamLabel_
std::string streamLabel_
Definition:
DQMFileIterator.h:91
dqmservices::DQMFileIterator::delay
void delay()
Definition:
DQMFileIterator.cc:364
dqmservices::DQMFileIterator::LumiEntry
Definition:
DQMFileIterator.h:20
dqmservices::DQMFileIterator::lumiReady
bool lumiReady()
Definition:
DQMFileIterator.cc:112
dqmservices::DQMFileIterator::nextLumiNumber_
unsigned int nextLumiNumber_
Definition:
DQMFileIterator.h:104
dqmservices::DQMFileIterator::datafnPosition_
unsigned int datafnPosition_
Definition:
DQMFileIterator.h:98
dqmservices::DQMFileIterator::forceFileCheckTimeoutMillis_
long forceFileCheckTimeoutMillis_
Definition:
DQMFileIterator.h:94
dqmservices::DQMFileIterator::monUpdateLumi
void monUpdateLumi(const LumiEntry &lumi)
Definition:
DQMFileIterator.cc:156
dqmservices::DQMFileIterator::runPathLastCollect_
std::chrono::high_resolution_clock::time_point runPathLastCollect_
Definition:
DQMFileIterator.h:111
dqmservices::DQMFileIterator::filesSeen_
std::unordered_set< std::string > filesSeen_
Definition:
DQMFileIterator.h:106
State
State
Definition:
hltDiff.cc:319
edm::ParameterSet
Definition:
ParameterSet.h:36
ConfigurationDescriptions.h
dqmservices::DQMFileIterator::runPathMTime_
std::time_t runPathMTime_
Definition:
DQMFileIterator.h:110
dqmservices::DQMFileIterator::state_
State state_
Definition:
DQMFileIterator.h:102
dqmservices::DQMFileIterator::runInputDir_
std::string runInputDir_
Definition:
DQMFileIterator.h:90
dqmservices::DQMFileIterator::LumiEntry::filename
std::string filename
Definition:
DQMFileIterator.h:21
dqmservices::DQMFileIterator::advanceToLumi
void advanceToLumi(unsigned int lumi, std::string reason)
Definition:
DQMFileIterator.cc:130
dqmservices::DQMFileIterator::state
State state()
Definition:
DQMFileIterator.cc:104
dqmservices::DQMFileIterator::EOR
Definition:
DQMFileIterator.h:47
dqmservices::DQMFileIterator::fillDescription
static void fillDescription(edm::ParameterSetDescription &d)
Definition:
DQMFileIterator.cc:370
dqmservices::DQMFileIterator::update_state
void update_state()
Definition:
DQMFileIterator.cc:285
dqmservices::DQMFileIterator::collect
void collect(bool ignoreTimers)
Definition:
DQMFileIterator.cc:173
Generated for CMSSW Reference Manual by
1.8.5