EventFilter
Utilities
src
AuxiliaryMakers.cc
Go to the documentation of this file.
1
#include <sys/time.h>
2
3
#include "
EventFilter/Utilities/interface/AuxiliaryMakers.h
"
4
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
5
6
namespace
evf
{
7
namespace
evtn {
8
9
edm::EventAuxiliary
makeEventAuxiliary
(
const
tcds::Raw_v1
*
tcds
,
10
unsigned
int
runNumber
,
11
unsigned
int
lumiSection,
12
const
edm::EventAuxiliary::ExperimentType
&
eventType
,
13
const
std::string
& processGUID,
14
bool
verifyLumiSection) {
15
edm::EventID
eventId(
runNumber
,
// check that runnumber from record is consistent
16
lumiSection,
17
tcds
->header.eventNumber);
18
19
edm::TimeValue_t
time
=
20
static_cast<edm::TimeValue_t>(((
uint64_t
)
tcds
->bst.gpstimehigh << 32) |
tcds
->bst.gpstimelow);
21
if
(
time
== 0) {
22
timeval stv;
23
gettimeofday(&stv,
nullptr
);
24
time
= stv.tv_sec;
25
time
= (
time
<< 32) + stv.tv_usec;
26
}
27
28
const
uint64_t
orbitnr = ((
uint64_t
)
tcds
->header.orbitHigh << 16) |
tcds
->header.orbitLow;
29
const
uint32_t recordLumiSection =
tcds
->header.lumiSection;
30
31
if
(verifyLumiSection && recordLumiSection != lumiSection)
32
edm::LogWarning
(
"AuxiliaryMakers"
)
33
<<
"Lumisection mismatch, external : "
<< lumiSection <<
", record : "
<< recordLumiSection;
34
if
((orbitnr >> 18) + 1 != recordLumiSection)
35
edm::LogWarning
(
"AuxiliaryMakers"
) <<
"Lumisection and orbit number mismatch, LS : "
<< lumiSection
36
<<
", LS from orbit: "
<< ((orbitnr >> 18) + 1) <<
", orbit:"
<< orbitnr;
37
38
return
edm::EventAuxiliary
(eventId,
39
processGUID,
40
edm::Timestamp
(
time
),
41
true
,
42
eventType
,
43
(
int
)
tcds
->header.bxid,
44
((uint32_t)(
tcds
->bst.lhcFillHigh) << 16) |
tcds
->bst.lhcFillLow,
45
(
int
)(orbitnr & 0x7fffffffU));
//framework supports only 32-bit signed
46
}
47
}
// namespace evtn
48
}
// namespace evf
MessageLogger.h
convertSQLiteXML.runNumber
runNumber
Definition:
convertSQLiteXML.py:91
AuxiliaryMakers.h
tcds::Raw_v1
Definition:
TCDSRaw.h:106
evf::evtn::makeEventAuxiliary
edm::EventAuxiliary makeEventAuxiliary(const tcds::Raw_v1 *, unsigned int runNumber, unsigned int lumiSection, const edm::EventAuxiliary::ExperimentType &, const std::string &processGUID, bool verifyLumiSection)
Definition:
AuxiliaryMakers.cc:9
edm::EventAuxiliary
Definition:
EventAuxiliary.h:14
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
edm::LogWarning
Definition:
MessageLogger.h:141
tcds
Definition:
TCDSRaw.h:16
hcalcalib_dqm_sourceclient-live_cfg.eventType
eventType
Definition:
hcalcalib_dqm_sourceclient-live_cfg.py:200
edm::EventAuxiliary::ExperimentType
ExperimentType
Definition:
EventAuxiliary.h:18
evf
Definition:
fillJson.h:27
cond::uint64_t
unsigned long long uint64_t
Definition:
Time.h:13
ntuplemaker.time
time
Definition:
ntuplemaker.py:310
edm::EventID
Definition:
EventID.h:31
edm::TimeValue_t
unsigned long long TimeValue_t
Definition:
Timestamp.h:28
edm::Timestamp
Definition:
Timestamp.h:30
Generated for CMSSW Reference Manual by
1.8.16