CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
DataModeScoutingRun2Multi Class Reference

#include <DAQSourceModelsScouting.h>

Inheritance diagram for DataModeScoutingRun2Multi:
DataMode

Public Member Functions

bool checksumValid () override
 
bool dataBlockCompleted () const override
 
bool dataBlockInitialized () const override
 
uint64_t dataBlockSize () const override
 
 DataModeScoutingRun2Multi (DAQSource *daqSource)
 
int dataVersion () const override
 
std::pair< bool, std::vector< std::string > > defineAdditionalFiles (std::string const &primaryName, bool fileListMode) const override
 
void detectVersion (unsigned char *fileBuf, uint32_t fileHeaderOffset) override
 
std::string getChecksumError () const override
 
uint32_t headerSize () const override
 
bool isRealData () const override
 
std::vector< std::shared_ptr< const edm::DaqProvenanceHelper > > & makeDaqProvenanceHelpers () override
 
void makeDataBlockView (unsigned char *addr, size_t maxSize, std::vector< uint64_t > const &fileSizes, size_t fileHeaderSize) override
 
void makeDirectoryEntries (std::vector< std::string > const &baseDirs, std::string const &runDir) override
 
bool nextEventView () override
 
void readEvent (edm::EventPrincipal &eventPrincipal) override
 
bool requireHeader () const override
 
uint32_t run () const override
 
void setDataBlockInitialized (bool val) override
 
void setTCDSSearchRange (uint16_t MINTCDSuTCAFEDID, uint16_t MAXTCDSuTCAFEDID) override
 
bool versionCheck () const override
 
 ~DataModeScoutingRun2Multi () override
 
- Public Member Functions inherited from DataMode
 DataMode (DAQSource *daqSource)
 
virtual bool fitToBuffer () const =0
 
virtual bool isMultiDir ()
 
void setTesting (bool testing)
 
virtual ~DataMode ()=default
 

Private Member Functions

bool makeEvents ()
 
void unpackMuonOrbit (BXVector< l1t::Muon > *muons, char *buf, size_t len)
 

Private Attributes

bool blockCompleted_ = true
 
std::vector< std::shared_ptr< const edm::DaqProvenanceHelper > > daqProvenanceHelpers_
 
unsigned char * dataBlockAddr_ = nullptr
 
std::vector< unsigned char * > dataBlockAddrs_
 
bool dataBlockInitialized_ = false
 
size_t dataBlockMax_ = 0
 
std::vector< unsigned char * > dataBlockMaxAddrs_
 
uint16_t detectedFRDversion_ = 0
 
std::unique_ptr< ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > > dummyLVec_
 
bool eventCached_ = false
 
std::vector< std::unique_ptr< FRDEventMsgView > > events_
 
size_t fileHeaderSize_ = 0
 
size_t headerSize_ = 0
 
short numFiles_ = 0
 
std::vector< unsigned char * > startAddrs_
 

Additional Inherited Members

- Protected Attributes inherited from DataMode
DAQSourcedaqSource_
 
bool testing_ = false
 

Detailed Description

Definition at line 156 of file DAQSourceModelsScouting.h.

Constructor & Destructor Documentation

◆ DataModeScoutingRun2Multi()

DataModeScoutingRun2Multi::DataModeScoutingRun2Multi ( DAQSource daqSource)
inline

Definition at line 158 of file DAQSourceModelsScouting.h.

References dummyLVec_.

158  : DataMode(daqSource) {
159  dummyLVec_ = std::make_unique<ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double>>>();
160  }
std::unique_ptr< ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > > dummyLVec_
DataMode(DAQSource *daqSource)

◆ ~DataModeScoutingRun2Multi()

DataModeScoutingRun2Multi::~DataModeScoutingRun2Multi ( )
inlineoverride

Definition at line 162 of file DAQSourceModelsScouting.h.

162 {};

Member Function Documentation

◆ checksumValid()

bool DataModeScoutingRun2Multi::checksumValid ( )
overridevirtual

Implements DataMode.

Definition at line 310 of file DAQSourceModelsScouting.cc.

310 { return true; }

◆ dataBlockCompleted()

bool DataModeScoutingRun2Multi::dataBlockCompleted ( ) const
inlineoverridevirtual

Implements DataMode.

Definition at line 226 of file DAQSourceModelsScouting.h.

References blockCompleted_.

◆ dataBlockInitialized()

bool DataModeScoutingRun2Multi::dataBlockInitialized ( ) const
inlineoverridevirtual

Implements DataMode.

Definition at line 230 of file DAQSourceModelsScouting.h.

References dataBlockInitialized_.

◆ dataBlockSize()

uint64_t DataModeScoutingRun2Multi::dataBlockSize ( ) const
inlineoverridevirtual

Implements DataMode.

Definition at line 176 of file DAQSourceModelsScouting.h.

References events_.

176  {
177  //TODO: adjust to multiple objects
178  return events_[0]->size();
179  }
std::vector< std::unique_ptr< FRDEventMsgView > > events_

◆ dataVersion()

int DataModeScoutingRun2Multi::dataVersion ( ) const
inlineoverridevirtual

Implements DataMode.

Definition at line 167 of file DAQSourceModelsScouting.h.

References detectedFRDversion_.

◆ defineAdditionalFiles()

std::pair< bool, std::vector< std::string > > DataModeScoutingRun2Multi::defineAdditionalFiles ( std::string const &  primaryName,
bool  fileListMode 
) const
overridevirtual

Implements DataMode.

Definition at line 138 of file DAQSourceModelsScouting.cc.

References Exception, reco_skim_cfg_mod::fullpath, castor_dqm_sourceclient_file_cfg::path, and AlCaHLTBitMon_QueryRunRegistry::string.

139  {
140  std::vector<std::string> additionalFiles;
141 
142  auto fullpath = std::filesystem::path(primaryName);
143  auto fullname = fullpath.filename();
144  std::string stem = fullname.stem().string();
145  std::string ext = fullname.extension().string();
146  std::regex regexz("_");
147  std::vector<std::string> nameTokens = {std::sregex_token_iterator(stem.begin(), stem.end(), regexz, -1),
148  std::sregex_token_iterator()};
149 
150  if (nameTokens.size() < 3) {
151  throw cms::Exception("DAQSource::getNextEvent")
152  << primaryName << " name doesn't start with run#_ls#_index#_*.ext syntax";
153  }
154 
155  //Can also filter out non-matching primary files (if detected by DaqDirector). false will tell source to skip the primary file.
156  if (nameTokens.size() > 3 && nameTokens[3].rfind("secondary", 0) == 0)
157  return std::make_pair(false, additionalFiles);
158 
159  //TODO: provisional, name syntax should be better defined
160 
161  additionalFiles.push_back(fullpath.parent_path().string() + "/" + nameTokens[0] + "_" + nameTokens[1] + "_" +
162  nameTokens[2] + "_secondary" + ext);
163  //additionalFiles.push_back(fullpath.parent_path.string() + "/" + nameTokens[0] + "_" + nameTokens[1] + "_" + nameTokens[2] + "_tertiary" + ".raw");
164 
165  return std::make_pair(true, additionalFiles);
166 }
Definition: memstream.h:15

◆ detectVersion()

void DataModeScoutingRun2Multi::detectVersion ( unsigned char *  fileBuf,
uint32_t  fileHeaderOffset 
)
inlineoverridevirtual

Implements DataMode.

Definition at line 168 of file DAQSourceModelsScouting.h.

References detectedFRDversion_.

168  {
169  detectedFRDversion_ = *((uint16_t*)(fileBuf + fileHeaderOffset));
170  }

◆ getChecksumError()

std::string DataModeScoutingRun2Multi::getChecksumError ( ) const
overridevirtual

◆ headerSize()

uint32_t DataModeScoutingRun2Multi::headerSize ( ) const
inlineoverridevirtual

Implements DataMode.

Definition at line 172 of file DAQSourceModelsScouting.h.

References detectedFRDversion_, and FRDHeaderVersionSize.

constexpr std::array< uint32, FRDHeaderMaxVersion+1 > FRDHeaderVersionSize

◆ isRealData()

bool DataModeScoutingRun2Multi::isRealData ( ) const
inlineoverridevirtual

Implements DataMode.

Definition at line 215 of file DAQSourceModelsScouting.h.

References cms::cuda::assert(), and events_.

215  {
216  assert(!events_.empty());
217  return events_[0]->isRealData();
218  }
assert(be >=bs)
std::vector< std::unique_ptr< FRDEventMsgView > > events_

◆ makeDaqProvenanceHelpers()

std::vector< std::shared_ptr< const edm::DaqProvenanceHelper > > & DataModeScoutingRun2Multi::makeDaqProvenanceHelpers ( )
overridevirtual

Implements DataMode.

Definition at line 276 of file DAQSourceModelsScouting.cc.

276  {
277  //set FRD data collection
278  daqProvenanceHelpers_.clear();
279  daqProvenanceHelpers_.emplace_back(std::make_shared<const edm::DaqProvenanceHelper>(
280  edm::TypeID(typeid(l1t::MuonBxCollection)), "l1t::MuonBxCollection", "l1tMuonBxCollection", "DAQSource"));
281  //Note: two same kind of objects can not be put in the event from the source, so this example will be changed
282  daqProvenanceHelpers_.emplace_back(std::make_shared<const edm::DaqProvenanceHelper>(
283  edm::TypeID(typeid(l1t::MuonBxCollection)), "l1t::MuonBxCollection", "l1tMuonBxCollection", "DAQSource"));
284  return daqProvenanceHelpers_;
285 }
std::vector< std::shared_ptr< const edm::DaqProvenanceHelper > > daqProvenanceHelpers_

◆ makeDataBlockView()

void DataModeScoutingRun2Multi::makeDataBlockView ( unsigned char *  addr,
size_t  maxSize,
std::vector< uint64_t > const &  fileSizes,
size_t  fileHeaderSize 
)
inlineoverridevirtual

Implements DataMode.

Definition at line 181 of file DAQSourceModelsScouting.h.

References generateTowerEtThresholdLUT::addr, cms::cuda::assert(), blockCompleted_, dataBlockAddrs_, dataBlockMax_, dataBlockMaxAddrs_, eventCached_, fileHeaderSize_, mps_fire::i, makeEvents(), reco_skim_cfg_mod::maxSize, numFiles_, mps_fire::result, setDataBlockInitialized(), and startAddrs_.

184  {
185  fileHeaderSize_ = fileHeaderSize;
186  numFiles_ = fileSizes.size();
187  //add offset address for each file payload
188  startAddrs_.clear();
189  startAddrs_.push_back(addr);
190  dataBlockAddrs_.clear();
191  dataBlockAddrs_.push_back(addr);
192  dataBlockMaxAddrs_.clear();
193  dataBlockMaxAddrs_.push_back(addr + fileSizes[0] - fileHeaderSize);
194  auto fileAddr = addr;
195  for (unsigned int i = 1; i < fileSizes.size(); i++) {
196  fileAddr += fileSizes[i - 1];
197  startAddrs_.push_back(fileAddr);
198  dataBlockAddrs_.push_back(fileAddr);
199  dataBlockMaxAddrs_.push_back(fileAddr + fileSizes[i] - fileHeaderSize);
200  }
201 
203  blockCompleted_ = false;
204  //set event cached as we set initial address here
205  bool result = makeEvents();
206  assert(result);
207  eventCached_ = true;
209  }
std::vector< unsigned char * > dataBlockAddrs_
assert(be >=bs)
void setDataBlockInitialized(bool val) override
std::vector< unsigned char * > dataBlockMaxAddrs_
std::vector< unsigned char * > startAddrs_

◆ makeDirectoryEntries()

void DataModeScoutingRun2Multi::makeDirectoryEntries ( std::vector< std::string > const &  baseDirs,
std::string const &  runDir 
)
inlineoverridevirtual

Implements DataMode.

Definition at line 236 of file DAQSourceModelsScouting.h.

236  {
237  //receive directory paths for multiple input files ('striped')
238  }

◆ makeEvents()

bool DataModeScoutingRun2Multi::makeEvents ( )
private

Definition at line 298 of file DAQSourceModelsScouting.cc.

References mps_fire::i.

Referenced by makeDataBlockView().

298  {
299  events_.clear();
300  for (int i = 0; i < numFiles_; i++) {
302  blockCompleted_ = true;
303  return false;
304  }
305  events_.emplace_back(std::make_unique<FRDEventMsgView>(dataBlockAddrs_[i]));
306  }
307  return true;
308 }
std::vector< unsigned char * > dataBlockAddrs_
std::vector< std::unique_ptr< FRDEventMsgView > > events_
std::vector< unsigned char * > dataBlockMaxAddrs_

◆ nextEventView()

bool DataModeScoutingRun2Multi::nextEventView ( )
overridevirtual

Implements DataMode.

Definition at line 287 of file DAQSourceModelsScouting.cc.

References mps_fire::i.

287  {
288  blockCompleted_ = false;
289  if (eventCached_)
290  return true;
291  for (unsigned int i = 0; i < events_.size(); i++) {
292  //add last event length..
293  dataBlockAddrs_[i] += events_[i]->size();
294  }
295  return makeEvents();
296 }
std::vector< unsigned char * > dataBlockAddrs_
std::vector< std::unique_ptr< FRDEventMsgView > > events_

◆ readEvent()

void DataModeScoutingRun2Multi::readEvent ( edm::EventPrincipal eventPrincipal)
overridevirtual

Implements DataMode.

Definition at line 168 of file DAQSourceModelsScouting.cc.

References printConversionInfo::aux, eostools::move(), jetsAK4_Puppi_cff::payload, edm::EventAuxiliary::PhysicsTrigger, edm::EventPrincipal::put(), l1tstage2_dqm_sourceclient-live_cfg::rawData, and hcalRecHitTable_cff::time.

168  {
170  timeval stv;
171  gettimeofday(&stv, nullptr);
172  time = stv.tv_sec;
173  time = (time << 32) + stv.tv_usec;
174  edm::Timestamp tstamp(time);
175 
176  std::unique_ptr<BXVector<l1t::Muon>> rawData(new BXVector<l1t::Muon>);
177  //allow any bx
178  rawData->setBXRange(0, 4000);
179 
180  unpackMuonOrbit(rawData.get(), (char*)events_[0]->payload(), events_[0]->eventSize());
181 
182  //TODO: implement here other object type (e.g. unpackCaloOrbit)
183  //
184  std::unique_ptr<BXVector<l1t::Muon>> rawDataSec(new BXVector<l1t::Muon>);
185  //allow any bx
186  rawDataSec->setBXRange(0, 4000);
187 
188  unpackMuonOrbit(rawDataSec.get(), (char*)events_[1]->payload(), events_[1]->eventSize());
189 
190  uint32_t hdrEventID = events_[0]->event(); //take from 1st file
193  eventID, daqSource_->processGUID(), tstamp, events_[0]->isRealData(), edm::EventAuxiliary::PhysicsTrigger);
194 
195  aux.setProcessHistoryID(daqSource_->processHistoryID());
196  daqSource_->makeEventWrapper(eventPrincipal, aux);
197 
198  std::unique_ptr<edm::WrapperBase> edp(new edm::Wrapper<BXVector<l1t::Muon>>(std::move(rawData)));
199  eventPrincipal.put(
200  daqProvenanceHelpers_[0]->branchDescription(), std::move(edp), daqProvenanceHelpers_[0]->dummyProvenance());
201 
202  //TODO: use other object and provenance helper (duplicate is just for demonstration)
203  // std::unique_ptr<edm::WrapperBase> edpSec(new edm::Wrapper<BXVector<l1t::Muon>>(std::move(rawDataSec)));
204  // eventPrincipal.put(daqProvenanceHelpers_[1]->branchDescription(), std::move(edpSec), daqProvenanceHelpers_[1]->dummyProvenance());
205 
206  eventCached_ = false;
207 }
std::vector< std::shared_ptr< const edm::DaqProvenanceHelper > > daqProvenanceHelpers_
std::vector< std::unique_ptr< FRDEventMsgView > > events_
int currentLumiSection() const
Definition: DAQSource.h:52
void put(BranchDescription const &bd, std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const
void unpackMuonOrbit(BXVector< l1t::Muon > *muons, char *buf, size_t len)
std::string const & processGUID() const
Accessor for global process identifier.
Definition: InputSource.h:197
void makeEventWrapper(edm::EventPrincipal &eventPrincipal, edm::EventAuxiliary &aux)
Definition: DAQSource.h:54
edm::ProcessHistoryID & processHistoryID()
Definition: DAQSource.h:59
unsigned long long TimeValue_t
Definition: Timestamp.h:21
DAQSource * daqSource_
int eventRunNumber() const
Definition: DAQSource.h:53
def move(src, dest)
Definition: eostools.py:511

◆ requireHeader()

bool DataModeScoutingRun2Multi::requireHeader ( ) const
inlineoverridevirtual

Implements DataMode.

Definition at line 228 of file DAQSourceModelsScouting.h.

228 { return true; }

◆ run()

uint32_t DataModeScoutingRun2Multi::run ( ) const
inlineoverridevirtual

Implements DataMode.

Definition at line 220 of file DAQSourceModelsScouting.h.

References cms::cuda::assert(), and events_.

Referenced by Types.EventID::cppID(), and Types.LuminosityBlockID::cppID().

220  {
221  assert(!events_.empty());
222  return events_[0]->run();
223  }
assert(be >=bs)
std::vector< std::unique_ptr< FRDEventMsgView > > events_

◆ setDataBlockInitialized()

void DataModeScoutingRun2Multi::setDataBlockInitialized ( bool  val)
inlineoverridevirtual

◆ setTCDSSearchRange()

void DataModeScoutingRun2Multi::setTCDSSearchRange ( uint16_t  MINTCDSuTCAFEDID,
uint16_t  MAXTCDSuTCAFEDID 
)
inlineoverridevirtual

Implements DataMode.

Definition at line 234 of file DAQSourceModelsScouting.h.

234 { return; }

◆ unpackMuonOrbit()

void DataModeScoutingRun2Multi::unpackMuonOrbit ( BXVector< l1t::Muon > *  muons,
char *  buf,
size_t  len 
)
private

Definition at line 209 of file DAQSourceModelsScouting.cc.

References cms::cuda::assert(), visDQMUpload::buf, scouting::block::bx, nano_mu_digi_cff::bx, scouting::masks::chrg, scouting::shifts::chrg, scouting::masks::chrgv, scouting::shifts::chrgv, scouting::shifts::eta, scouting::shifts::etaext, scouting::masks::etaexts, scouting::masks::etaextv, scouting::masks::etas, scouting::masks::etav, scouting::muon::f, RecoTauValidation_cfi::header, mps_fire::i, hcalRecHitTable_cff::ieta, scouting::masks::index, scouting::shifts::index, hcalRecHitTable_cff::iphi, scouting::masks::iso, scouting::shifts::iso, scouting::header_shifts::mAcount, scouting::header_masks::mAcount, scouting::header_shifts::mBcount, scouting::header_masks::mBcount, scouting::block::mu, HLT_2023v12_cff::muon, PDWG_BPHSkim_cff::muons, scouting::masks::phi, scouting::shifts::phi, scouting::masks::phiext, scouting::shifts::phiext, scouting::masks::pt, scouting::shifts::pt, scouting::masks::qual, scouting::shifts::qual, l1tGTMenu_lepSeeds_cff::qual, and scouting::muon::s.

209  {
210  using namespace scouting;
211  size_t pos = 0;
212  //uint32_t o_test = 0;
213  while (pos < len) {
214  assert(pos + 4 <= len);
215  uint32_t header = *((uint32*)(buf + pos));
216  uint32_t mAcount = (header & header_masks::mAcount) >> header_shifts::mAcount;
217  uint32_t mBcount = (header & header_masks::mBcount) >> header_shifts::mBcount;
218 
219  block* bl = (block*)(buf + pos + 4);
220 
221  pos += 12 + (mAcount + mBcount) * 8;
222  assert(pos <= len);
223 
224  uint32_t bx = bl->bx;
225 
226  //uint32_t orbit = bl->orbit;
227  //o_test = orbit;
228 
229  //should cuts should be applied
230  bool excludeIntermediate = true;
231 
232  for (size_t i = 0; i < (mAcount + mBcount); i++) {
233  //unpack new muon
234  //variables: index, ietaext, ipt, qual, iphiext, iso, chrg, iphi, ieta
235 
236  // remove intermediate if required
237  // index==0 and ietaext==0 are a necessary and sufficient condition
238  uint32_t index = (bl->mu[i].s >> shifts::index) & masks::index;
239  int32_t ietaext = ((bl->mu[i].f >> shifts::etaext) & masks::etaextv);
240  if (((bl->mu[i].f >> shifts::etaext) & masks::etaexts) != 0)
241  ietaext -= 256;
242 
243  if (excludeIntermediate && index == 0 && ietaext == 0)
244  continue;
245 
246  //extract pt and quality and apply cut if required
247  uint32_t ipt = (bl->mu[i].f >> shifts::pt) & masks::pt;
248  //cuts??
249  // if((ipt-1)<ptcut) {discarded++; continue;}
250  uint32_t qual = (bl->mu[i].f >> shifts::qual) & masks::qual;
251  // if(qual < qualcut) {discarded++; continue;}
252 
253  //extract integer value for extrapolated phi
254  int32_t iphiext = ((bl->mu[i].f >> shifts::phiext) & masks::phiext);
255 
256  // extract iso bits and charge
257  uint32_t iso = (bl->mu[i].s >> shifts::iso) & masks::iso;
258  int32_t chrg = 0;
259  if (((bl->mu[i].s >> shifts::chrgv) & masks::chrgv) == 1) {
260  chrg = ((bl->mu[i].s >> shifts::chrg) & masks::chrg) == 1 ? -1 : 1;
261  }
262 
263  // extract eta and phi at muon station
264  int32_t iphi = ((bl->mu[i].s >> shifts::phi) & masks::phi);
265  int32_t ieta = (bl->mu[i].s >> shifts::eta) & masks::etav;
266  if (((bl->mu[i].s >> shifts::eta) & masks::etas) != 0)
267  ieta -= 256;
268 
269  l1t::Muon muon(
270  *dummyLVec_, ipt, ieta, iphi, qual, chrg, chrg != 0, iso, -1, 0, false, 0, 0, 0, 0, ietaext, iphiext);
271  muons->push_back(bx, muon);
272  }
273  }
274 } //unpackOrbit
std::unique_ptr< ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > > dummyLVec_
assert(be >=bs)
unsigned int uint32
Definition: MsgTools.h:13
Definition: Muon.h:21

◆ versionCheck()

bool DataModeScoutingRun2Multi::versionCheck ( ) const
inlineoverridevirtual

Implements DataMode.

Definition at line 174 of file DAQSourceModelsScouting.h.

References detectedFRDversion_, and FRDHeaderMaxVersion.

constexpr size_t FRDHeaderMaxVersion

Member Data Documentation

◆ blockCompleted_

bool DataModeScoutingRun2Multi::blockCompleted_ = true
private

Definition at line 265 of file DAQSourceModelsScouting.h.

Referenced by dataBlockCompleted(), and makeDataBlockView().

◆ daqProvenanceHelpers_

std::vector<std::shared_ptr<const edm::DaqProvenanceHelper> > DataModeScoutingRun2Multi::daqProvenanceHelpers_
private

Definition at line 247 of file DAQSourceModelsScouting.h.

◆ dataBlockAddr_

unsigned char* DataModeScoutingRun2Multi::dataBlockAddr_ = nullptr
private

Definition at line 254 of file DAQSourceModelsScouting.h.

◆ dataBlockAddrs_

std::vector<unsigned char*> DataModeScoutingRun2Multi::dataBlockAddrs_
private

Definition at line 258 of file DAQSourceModelsScouting.h.

Referenced by makeDataBlockView().

◆ dataBlockInitialized_

bool DataModeScoutingRun2Multi::dataBlockInitialized_ = false
private

Definition at line 264 of file DAQSourceModelsScouting.h.

Referenced by dataBlockInitialized(), and setDataBlockInitialized().

◆ dataBlockMax_

size_t DataModeScoutingRun2Multi::dataBlockMax_ = 0
private

Definition at line 260 of file DAQSourceModelsScouting.h.

Referenced by makeDataBlockView().

◆ dataBlockMaxAddrs_

std::vector<unsigned char*> DataModeScoutingRun2Multi::dataBlockMaxAddrs_
private

Definition at line 259 of file DAQSourceModelsScouting.h.

Referenced by makeDataBlockView().

◆ detectedFRDversion_

uint16_t DataModeScoutingRun2Multi::detectedFRDversion_ = 0
private

Definition at line 248 of file DAQSourceModelsScouting.h.

Referenced by dataVersion(), detectVersion(), headerSize(), and versionCheck().

◆ dummyLVec_

std::unique_ptr<ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > > DataModeScoutingRun2Multi::dummyLVec_
private

Definition at line 252 of file DAQSourceModelsScouting.h.

Referenced by DataModeScoutingRun2Multi().

◆ eventCached_

bool DataModeScoutingRun2Multi::eventCached_ = false
private

Definition at line 263 of file DAQSourceModelsScouting.h.

Referenced by makeDataBlockView().

◆ events_

std::vector<std::unique_ptr<FRDEventMsgView> > DataModeScoutingRun2Multi::events_
private

Definition at line 250 of file DAQSourceModelsScouting.h.

Referenced by dataBlockSize(), isRealData(), and run().

◆ fileHeaderSize_

size_t DataModeScoutingRun2Multi::fileHeaderSize_ = 0
private

Definition at line 261 of file DAQSourceModelsScouting.h.

Referenced by makeDataBlockView().

◆ headerSize_

size_t DataModeScoutingRun2Multi::headerSize_ = 0
private

Definition at line 249 of file DAQSourceModelsScouting.h.

◆ numFiles_

short DataModeScoutingRun2Multi::numFiles_ = 0
private

Definition at line 262 of file DAQSourceModelsScouting.h.

Referenced by makeDataBlockView().

◆ startAddrs_

std::vector<unsigned char*> DataModeScoutingRun2Multi::startAddrs_
private

Definition at line 257 of file DAQSourceModelsScouting.h.

Referenced by makeDataBlockView().