41 {
42
44 DataReader *pDR = pickDataReader(fName);
45
46 if(!pDR) {
47 std::cerr << "Problem opening or reading the bytestream file "
48 <<
fName << std::endl;
49 return;
50 }
51
52 if(!pDR->good()) {
53 std::cerr <<
"No events in file "<<
fName << std::endl;
54 }
55
56 m_fmd.m_runNumbers.insert(pDR->runNumber());
57 m_fmd.m_lbNumbers.insert(pDR->lumiblockNumber());
58 m_fmd.m_project=pDR->projectTag();
59 m_fmd.m_stream=pDR->stream();
60 m_fmd.m_nEvents=pDR->eventsInFile();
61 m_fmd.m_beamEnergy=pDR->beamEnergy()*1000;
62 m_fmd.m_guid=pDR->GUID();
63
64 const unsigned bt=pDR->beamType();
65
66
67
68
69
70 switch (bt) {
71 case 0:
72 m_fmd.m_beamType=
"cosmics";
73 break;
74 case 1:
75 case 2:
76 m_fmd.m_beamType=
"collisions";
77 break;
78 default:
79 std::cerr << "WARNING: Unexpected beam type integer in BS file. Got " << bt << std::endl;
80 m_fmd.m_beamType=
"unknown";
81 }
82
83
85 const std::vector<std::string> fmds=pDR->freeMetaDataStrings();
86 std::string eventTypeMD;
87 for (const std::string& fm : fmds) {
91 }
92
93 if (eventTypeMD.find("is sim")!=std::string::npos) {
95 }
96
97
99 delete pDR;
100}
bool extractValue(const std::string &source, const std::string &key, std::string &value)