1#ifndef BMNMETADATADECODER_H
2#define BMNMETADATADECODER_H 1
8#include <boost/property_tree/json_parser.hpp>
9#include <boost/property_tree/ptree.hpp>
12#include <TClonesArray.h>
16#include <TTimeStamp.h>
27namespace pt = boost::property_tree;
80 const TTimeStamp TimeZero = TTimeStamp(time_t(0), 0);
81 Double_t workTime_cpu = 0.0;
82 Double_t workTime_real = 0.0;
83 bool get_run_interval_from_file =
true;
84 bool get_filenames_from_db =
false;
99 TTree* fRawTreeSpillsT0;
101 TTree* fDigiTreeSpills;
102 string fDecoderConfigFileName;
104 vector<string> fDigiFileNames;
106 vector<string> fTarFileNames;
107 TString fMSCMapFileName;
108 TString fRootFileName;
110 TString fDigiRunHdrName;
112 TString fRawRunHdrName;
113 TString fMetadataName;
118 unique_ptr<DigiRunHeader> digiRunHeader;
125 TClonesArray* msc_copy;
126 TClonesArray* t0_copy;
141 TString fPeriodSetupExt;
142 unique_ptr<BmnTrigRaw2Digit> fTrigMapper;
144 map<SysPoint, BmnSpillInfo> fSpillMap;
148 map<std::pair<uint32_t, uint16_t>, uint16_t> scalers2index_map;
149 map<uint16_t, uint16_t> trcIdx2scalerIdx;
152 vector<string> scalers_index2name_map;
std::chrono::time_point< SysClock > SysPoint
std::unordered_map< std::string, std::pair< uint32_t, uint16_t > > Name2SerCh
std::map< std::pair< uint32_t, uint16_t >, std::string > SerCh2Name
std::map< T0MapKey, uint16_t > T0ChMap
std::unordered_map< std::string, uint16_t > NameChMap