CMS 3D CMS Logo

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

#include <IORawData/SiPixelInputSources/src/PixelSLinkDataInputSource.cc>

Inheritance diagram for PixelSLinkDataInputSource:
edm::ProducerSourceFromFiles edm::ProducerSourceBase edm::FromFiles edm::PuttableSourceBase edm::InputSource edm::ProducerBase edm::ProductRegistryHelper

Public Member Functions

 PixelSLinkDataInputSource (const edm::ParameterSet &pset, const edm::InputSourceDescription &desc)
 
 ~PixelSLinkDataInputSource () override
 
- Public Member Functions inherited from edm::ProducerSourceFromFiles
bool noFiles () const override
 
 ProducerSourceFromFiles (ParameterSet const &pset, InputSourceDescription const &desc, bool realData)
 
 ~ProducerSourceFromFiles () override
 
- Public Member Functions inherited from edm::ProducerSourceBase
EventNumber_t event () const
 
unsigned int eventCreationDelay () const
 
EventID const & eventID () const
 
LuminosityBlockNumber_t luminosityBlock () const
 
unsigned int numberEventsInLumi () const
 
unsigned int numberEventsInRun () const
 
unsigned int numberEventsInThisLumi () const
 
unsigned int numberEventsInThisRun () const
 
TimeValue_t presentTime () const
 
 ProducerSourceBase (ParameterSet const &pset, InputSourceDescription const &desc, bool realData)
 
RunNumber_t run () const
 
unsigned int timeBetweenEvents () const
 
 ~ProducerSourceBase () noexcept(false) override
 
- Public Member Functions inherited from edm::PuttableSourceBase
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () const final
 
 PuttableSourceBase (ParameterSet const &, InputSourceDescription const &)
 
void registerProducts () final
 Register any produced products. More...
 
- Public Member Functions inherited from edm::InputSource
std::shared_ptr< ActivityRegistryactReg () const
 Accessor for Activity Registry. More...
 
std::shared_ptr< BranchIDListHelper const > branchIDListHelper () const
 Accessors for branchIDListHelper. More...
 
std::shared_ptr< BranchIDListHelper > & branchIDListHelper ()
 
void closeFile (FileBlock *, bool cleaningUpAfterException)
 close current file More...
 
void doBeginJob ()
 Called by framework at beginning of job. More...
 
void doEndJob ()
 Called by framework at end of job. More...
 
ProcessingController::ForwardState forwardState () const
 
bool goToEvent (EventID const &eventID)
 
 InputSource (ParameterSet const &, InputSourceDescription const &)
 Constructor. More...
 
 InputSource (InputSource const &)=delete
 
void issueReports (EventID const &eventID, StreamID streamID)
 issue an event report More...
 
LuminosityBlockNumber_t luminosityBlock () const
 Accessor for current luminosity block number. More...
 
std::shared_ptr< LuminosityBlockAuxiliaryluminosityBlockAuxiliary () const
 Called by the framework to merge or insert lumi in principal cache. More...
 
int maxEvents () const
 
int maxLuminosityBlocks () const
 
ModuleDescription const & moduleDescription () const
 Accessor for 'module' description. More...
 
ItemType nextItemType ()
 Advances the source to the next item. More...
 
InputSourceoperator= (InputSource const &)=delete
 
ProcessConfiguration const & processConfiguration () const
 Accessor for Process Configuration. More...
 
std::string const & processGUID () const
 Accessor for global process identifier. More...
 
ProcessHistoryRegistry const & processHistoryRegistry () const
 Accessors for process history registry. More...
 
ProcessHistoryRegistryprocessHistoryRegistry ()
 
ProcessingMode processingMode () const
 RunsLumisAndEvents (default), RunsAndLumis, or Runs. More...
 
std::shared_ptr< ProductRegistry const > productRegistry () const
 Accessors for product registry. More...
 
std::shared_ptr< ProductRegistry > & productRegistry ()
 
bool randomAccess () const
 
void readAndMergeLumi (LuminosityBlockPrincipal &lbp)
 Read next luminosity block (same as a prior lumi) More...
 
void readAndMergeRun (RunPrincipal &rp)
 Read next run (same as a prior run) More...
 
void readEvent (EventPrincipal &ep, StreamContext &)
 Read next event. More...
 
bool readEvent (EventPrincipal &ep, EventID const &, StreamContext &)
 Read a specific event. More...
 
std::unique_ptr< FileBlockreadFile ()
 Read next file. More...
 
void readLuminosityBlock (LuminosityBlockPrincipal &lumiPrincipal, HistoryAppender &historyAppender)
 Read next luminosity block (new lumi) More...
 
std::shared_ptr< LuminosityBlockAuxiliaryreadLuminosityBlockAuxiliary ()
 Read next luminosity block Auxilary. More...
 
void readRun (RunPrincipal &runPrincipal, HistoryAppender &historyAppender)
 Read next run (new run) More...
 
std::shared_ptr< RunAuxiliaryreadRunAuxiliary ()
 Read next run Auxiliary. More...
 
ProcessHistoryID const & reducedProcessHistoryID () const
 
int remainingEvents () const
 
int remainingLuminosityBlocks () const
 
void repeat ()
 Reset the remaining number of events/lumis to the maximum number. More...
 
std::pair< SharedResourcesAcquirer *, std::recursive_mutex * > resourceSharedWithDelayedReader ()
 Returns nullptr if no resource shared between the Source and a DelayedReader. More...
 
ProcessingController::ReverseState reverseState () const
 
void rewind ()
 Begin again at the first event. More...
 
RunNumber_t run () const
 Accessor for current run number. More...
 
std::shared_ptr< RunAuxiliaryrunAuxiliary () const
 Called by the framework to merge or insert run in principal cache. More...
 
void setLuminosityBlockNumber_t (LuminosityBlockNumber_t lb)
 Set the luminosity block ID. More...
 
void setRunNumber (RunNumber_t r)
 Set the run number. More...
 
void skipEvents (int offset)
 
std::shared_ptr< ThinnedAssociationsHelper const > thinnedAssociationsHelper () const
 Accessors for thinnedAssociationsHelper. More...
 
std::shared_ptr< ThinnedAssociationsHelper > & thinnedAssociationsHelper ()
 
Timestamp const & timestamp () const
 Accessor for the current time, as seen by the input source. More...
 
virtual ~InputSource () noexcept(false)
 Destructor. More...
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 

Private Member Functions

int getEventNumberFromFillWords (const std::vector< uint64_t > &data, uint32_t &totword)
 
void produce (edm::Event &event) override
 
bool setRunAndEventInfo (edm::EventID &id, edm::TimeValue_t &time, edm::EventAuxiliary::ExperimentType &) override
 
uint32_t synchronizeEvents ()
 

Private Attributes

std::unique_ptr< FEDRawDataCollectionbuffers
 
uint32_t m_currenteventnumber
 
uint32_t m_currenttriggernumber
 
uint64_t m_data
 
int32_t m_eventnumber_shift
 
int m_fedid
 
uint32_t m_fileindex
 
uint32_t m_globaleventnumber
 
int m_runnumber
 
std::unique_ptr< Storagestorage
 

Additional Inherited Members

- Public Types inherited from edm::InputSource
enum  ItemType {
  IsInvalid, IsStop, IsFile, IsRun,
  IsLumi, IsEvent, IsRepeat, IsSynchronize
}
 
enum  ProcessingMode { Runs, RunsAndLumis, RunsLumisAndEvents }
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Static Public Member Functions inherited from edm::ProducerSourceFromFiles
static void fillDescription (ParameterSetDescription &desc)
 
- Static Public Member Functions inherited from edm::ProducerSourceBase
static void fillDescription (ParameterSetDescription &desc)
 
- Static Public Member Functions inherited from edm::InputSource
static const std::string & baseType ()
 
static void fillDescription (ParameterSetDescription &desc)
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Public Attributes inherited from edm::InputSource
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> postEventReadFromSourceSignal_
 
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> preEventReadFromSourceSignal_
 
- Protected Member Functions inherited from edm::PuttableSourceBase
void beginJob () override
 
- Protected Member Functions inherited from edm::InputSource
void decreaseRemainingEventsBy (int iSkipped)
 
bool eventCached () const
 
bool newLumi () const
 
bool newRun () const
 
ProcessHistoryRegistryprocessHistoryRegistryForUpdate ()
 
ProductRegistryproductRegistryUpdate ()
 
void reset () const
 
void resetEventCached ()
 
void resetLuminosityBlockAuxiliary (bool isNewLumi=true) const
 
void resetNewLumi ()
 
void resetNewRun ()
 
void resetRunAuxiliary (bool isNewRun=true) const
 
void setEventCached ()
 Called by the framework to merge or ached() const {return eventCached_;}. More...
 
void setLuminosityBlockAuxiliary (LuminosityBlockAuxiliary *lbp)
 
void setNewLumi ()
 
void setNewRun ()
 
void setRunAuxiliary (RunAuxiliary *rp)
 
void setTimestamp (Timestamp const &theTime)
 To set the current time, as seen by the input source. More...
 
ItemType state () const
 

Detailed Description

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 38 of file PixelSLinkDataInputSource.h.

Constructor & Destructor Documentation

PixelSLinkDataInputSource::PixelSLinkDataInputSource ( const edm::ParameterSet pset,
const edm::InputSourceDescription desc 
)
explicit

Definition at line 117 of file PixelSLinkDataInputSource.cc.

References trackerTree::check(), StorageFactory::enableAccounting(), edm::FromFiles::fileNames(), StorageFactory::get(), StorageFactory::getToModify(), createfilelist::int, m_currenteventnumber, m_data, m_fileindex, m_runnumber, StorageFactory::open(), Storage::read(), summaryLumi::runnum, findQualityFiles::size, storage, and AlCaHLTBitMon_QueryRunRegistry::string.

118  :
119  ProducerSourceFromFiles(pset,desc,true),
120  m_fedid(pset.getUntrackedParameter<int>("fedid")),
121  m_fileindex(0),
122  m_runnumber(pset.getUntrackedParameter<int>("runNumber",-1)),
126 {
127  produces<FEDRawDataCollection>();
128 
129  if (m_fileindex>=fileNames().size()) {
130  edm::LogInfo("") << "no more file to read " << std::endl;
131  return;// ???
132  }
133  std::string currentfilename = fileNames()[m_fileindex];
134  edm::LogInfo("") << "now examining file "<< currentfilename ;
135  m_fileindex++;
136  // reading both castor and other ('normal'/dcap) files.
137  IOOffset size = -1;
139 
140  edm::LogInfo("PixelSLinkDataInputSource") << " unsigned long int size = " << sizeof(unsigned long int) <<"\n unsigned long size = " << sizeof(unsigned long)<<"\n unsigned long long size = " << sizeof(unsigned long long) << "\n uint32_t size = " << sizeof(uint32_t) << "\n uint64_t size = " << sizeof(uint64_t) << std::endl;
141 
142  bool exists = StorageFactory::get() -> check(currentfilename, &size);
143 
144  edm::LogInfo("PixelSLinkDataInputSource") << "file size " << size << std::endl;
145 
146  if(!exists){
147  edm::LogInfo("") << "file " << currentfilename << " cannot be found.";
148  return;
149  }
150  // now open the file stream:
151  storage =StorageFactory::get()->open(currentfilename);
152  // (throw if storage is 0)
153 
154  // check run number by opening up data file...
155 
156  Storage & temp_file = *storage;
157  // IOSize n =
158  temp_file.read((char*)&m_data,8);
159  if((m_data >> 60) != 0x5){
160  uint32_t runnum = m_data;
161  if(m_runnumber!=-1)
162  edm::LogInfo("") << "WARNING: observed run number encoded in S-Link dump. Overwriting run number as defined in .cfg file!!! Run number now set to " << runnum << " (was " << m_runnumber << ")";
163  m_runnumber=runnum;
164  }
165  temp_file.read((char*)&m_data,8);
166  m_currenteventnumber = (m_data >> 32)&0x00ffffff ;
167 }
size
Write out results.
T getUntrackedParameter(std::string const &, T const &) const
bool enableAccounting(bool enabled)
virtual IOSize read(void *into, IOSize n, IOOffset pos)
Definition: Storage.cc:17
ProducerSourceFromFiles(ParameterSet const &pset, InputSourceDescription const &desc, bool realData)
std::vector< std::string > const & fileNames() const
Definition: FromFiles.h:22
static const StorageFactory * get(void)
unsigned long long uint64_t
Definition: Time.h:15
int64_t IOOffset
Definition: IOTypes.h:19
def check(config)
Definition: trackerTree.py:14
std::unique_ptr< Storage > storage
static StorageFactory * getToModify(void)
std::unique_ptr< Storage > open(const std::string &url, int mode=IOFlags::OpenRead) const
PixelSLinkDataInputSource::~PixelSLinkDataInputSource ( )
override

Definition at line 170 of file PixelSLinkDataInputSource.cc.

170  {
171 
172 
173 }

Member Function Documentation

int PixelSLinkDataInputSource::getEventNumberFromFillWords ( const std::vector< uint64_t > &  data,
uint32_t &  totword 
)
private

Definition at line 33 of file PixelSLinkDataInputSource.cc.

References officialStyle::chan, GetRecoTauVFromDQM_MC_cff::kk, and mps_update::status.

33  {
34  // buffer validity, should already be pretty clean as this is exactly what goes into the FEDRawDataobject.
35 
36  // code copied directly from A. Ryd's fill word checker in PixelFEDInterface::PwordSlink64
37 
38  int fif2cnt=0;
39  int dumcnt=0;
40  int gapcnt=0;
41  uint32_t gap[9];
42  uint32_t dum[9];
43  uint32_t word[2]={0,0};
44  uint32_t chan=0;
45  uint32_t roc=0;
46 
47  const uint32_t rocmsk = 0x3e00000;
48  const uint32_t chnlmsk = 0xfc000000;
49 
50  for(int jk=1;jk<9;jk++)gap[jk]=0;
51  for(int jk=1;jk<9;jk++)dum[jk]=0;
52 
53  int fifcnt=1;
54  for(size_t kk=0; kk<buffer.size(); ++kk)
55  {
56 
57  word[0] = (uint32_t) buffer[kk];
58  word[1] = (uint32_t) (buffer[kk]>>32);
59 
60  for(size_t iw=0; iw<2; iw++)
61  {
62  chan= ((word[iw]&chnlmsk)>>26);
63  roc= ((word[iw]&rocmsk)>>21);
64 
65  //count non-error words
66  if(roc<25){
67  if((chan>4)&&(chan<10)&&(fifcnt!=2)) {fif2cnt=0;fifcnt=2;}
68  if((chan>9)&&(chan<14)&&(fifcnt!=3)) {fif2cnt=0;fifcnt=3;}
69  if((chan>13)&&(chan<19)&&(fifcnt!=4)){fif2cnt=0;fifcnt=4;}
70  if((chan>18)&&(chan<23)&&(fifcnt!=5)){fif2cnt=0;fifcnt=5;}
71  if((chan>22)&&(chan<28)&&(fifcnt!=6)){fif2cnt=0;fifcnt=6;}
72  if((chan>27)&&(chan<32)&&(fifcnt!=7)){fif2cnt=0;fifcnt=7;}
73  if((chan>31)&&(fifcnt!=8)){fif2cnt=0;fifcnt=8;}
74  fif2cnt++;
75  }
76  if(roc==26){gap[fifcnt]=(0x1000+(word[iw]&0xff));gapcnt++;}
77 
78  if((roc==27)&&((fif2cnt+dumcnt)<6)){dumcnt++;dum[fifcnt]=(0x1000+(word[iw]&0xff));}
79  else if((roc==27)&&((fif2cnt+dumcnt)>6)){dumcnt=1;fif2cnt=0;fifcnt++;}
80  }
81 
82  //word check complete
83  if(((fif2cnt+dumcnt)==6)&&(dumcnt>0)) //done with this fifo
84  {dumcnt=0;fif2cnt=0;fifcnt++;}
85  if((gapcnt>0)&&((dumcnt+fif2cnt)>5))//done with this fifo
86  {gapcnt=0;fifcnt++;fif2cnt=0;dumcnt=0;}
87  else if((gapcnt>0)&&((dumcnt+fif2cnt)<6)) gapcnt=0;
88 
89  }//end of fifo-3 word loop-see what we got!
90 
91  int status=0;
92 
93  if(gap[1]>0) {totword=(gap[1]&0xff);status=1;}
94  else if(gap[2]>0){totword=(gap[2]&0xff);status=1;}
95  else if(dum[1]>0){totword=(dum[1]&0xff);status=1;}
96  else if(dum[2]>0){totword=(dum[2]&0xff);status=1;}
97 
98  if(gap[3]>0) {totword=totword|((gap[3]&0xff)<<8);status=status|0x2;}
99  else if(gap[4]>0){totword=totword|((gap[4]&0xff)<<8);status=status|0x2;}
100  else if(dum[3]>0){totword=totword|((dum[3]&0xff)<<8);status=status|0x2;}
101  else if(dum[4]>0){totword=totword|((dum[4]&0xff)<<8);status=status|0x2;}
102 
103  if(gap[5]>0) {totword=totword|((gap[5]&0xff)<<16);status=status|0x4;}
104  else if(gap[6]>0){totword=totword|((gap[6]&0xff)<<16);status=status|0x4;}
105  else if(dum[5]>0){totword=totword|((dum[5]&0xff)<<16);status=status|0x4;}
106  else if(dum[6]>0){totword=totword|((dum[6]&0xff)<<16);status=status|0x4;}
107 
108  if(gap[7]>0){totword=totword|((gap[7]&0xff)<<24);status=status|0x8;}
109  else if(gap[8]>0){totword=totword|((gap[8]&0xff)<<24);status=status|0x8;}
110  else if(dum[7]>0){totword=totword|((dum[7]&0xff)<<24);status=status|0x8;}
111  else if(dum[8]>0){totword=totword|((dum[8]&0xff)<<24);status=status|0x8;}
112  return(status);
113 
114 }
chan
lumi = TPaveText(lowX+0.38, lowY+0.061, lowX+0.45, lowY+0.161, "NDC") lumi.SetBorderSize( 0 ) lumi...
void PixelSLinkDataInputSource::produce ( edm::Event event)
overrideprivatevirtual

Implements edm::ProducerSourceBase.

Definition at line 271 of file PixelSLinkDataInputSource.cc.

References buffers, and eostools::move().

271  {
272  event.put(std::move(buffers));
273  buffers.reset();
274 }
std::unique_ptr< FEDRawDataCollection > buffers
def move(src, dest)
Definition: eostools.py:510
bool PixelSLinkDataInputSource::setRunAndEventInfo ( edm::EventID id,
edm::TimeValue_t time,
edm::EventAuxiliary::ExperimentType  
)
overrideprivatevirtual

Implements edm::ProducerSourceBase.

Definition at line 175 of file PixelSLinkDataInputSource.cc.

References edmScanValgrind::buffer, buffers, KineDebug3::count(), TauDecayModes::dec, mps_fire::i, edm::ProducerSourceBase::luminosityBlock(), m_currenteventnumber, m_currenttriggernumber, m_data, m_eventnumber_shift, m_fedid, m_runnumber, gen::n, Storage::read(), edm::ProducerSourceBase::run(), storage, and synchronizeEvents().

175  {
176  Storage & m_file = *storage;
177 
178  // create product (raw data)
179  buffers.reset( new FEDRawDataCollection );
180 
181  // uint32_t currenteventnumber = (m_data >> 32)&0x00ffffff;
182  uint32_t eventnumber =(m_data >> 32)&0x00ffffff ;
183 
184  do{
185  std::vector<uint64_t> buffer;
186 
187 
188 
189  uint16_t count=0;
190  eventnumber = (m_data >> 32)&0x00ffffff ;
191  if(m_currenteventnumber==0)
192  m_currenteventnumber=eventnumber;
193  edm::LogInfo("PixelSLinkDataInputSource::produce()") << "**** event number = " << eventnumber << " global event number " << m_currenteventnumber << " data " << std::hex << m_data << std::dec << std::endl;
194  while ((m_data >> 60) != 0x5){
195  // std::cout << std::hex << m_data << std::dec << std::endl;
196  if (count==0){
197  edm::LogWarning("") << "DATA CORRUPTION!" ;
198  edm::LogWarning("") << "Expected to find header, but read: 0x"
199  << std::hex<<m_data<<std::dec ;
200  }
201 
202  count++;
203  int n=m_file.read((char*)&m_data,8);
204  edm::LogWarning("") << "next data " << std::hex << m_data << std::dec << std::endl;
205 
206  if (n!=8) {
207  edm::LogInfo("") << "End of input file" ;
208  return false;
209  }
210  }
211 
212 
213  if (count>0) {
214  edm::LogWarning("")<<"Had to read "<<count<<" words before finding header!"<<std::endl;
215  }
216 
217  if (m_fedid>-1) {
218  m_data=(m_data&0xfffffffffff000ffLL)|((m_fedid&0xfff)<<8);
219  }
220 
221  uint16_t fed_id=(m_data>>8)&0xfff;
222  // std::cout << "fed id = " << fed_id << std::endl;
223  buffer.push_back(m_data);
224 
225  do{
226  m_file.read((char*)&m_data,8);
227  buffer.push_back(m_data);
228  }
229  while((m_data >> 60) != 0xa);
230  // std::cout << "read " << buffer.size() << " long words" << std::endl;
231 
232  auto rawData = std::make_unique<FEDRawData>(8*buffer.size());
233  // FEDRawData * rawData = new FEDRawData(8*buffer.size());
234  unsigned char* dataptr=rawData->data();
235 
236  for (uint16_t i=0;i<buffer.size();i++){
237  ((uint64_t *)dataptr)[i]=buffer[i];
238  }
239  uint32_t thetriggernumber=0;
240  int nfillwords = 0;//getEventNumberFromFillWords(buffer,thetriggernumber);
241 
242  if(nfillwords>0){
243  LogInfo("") << "n fill words = " << nfillwords << ", trigger numbers: " << thetriggernumber << "," << m_currenttriggernumber << std::endl;
244  m_eventnumber_shift = thetriggernumber - m_currenttriggernumber;
245  }
246  m_currenttriggernumber = thetriggernumber;
247  FEDRawData& fedRawData = buffers->FEDData( fed_id );
248  fedRawData=*rawData;
249 
250  // read the first data member of the next blob to check on event number
251  int n =m_file.read((char*)&m_data,8);
252  if (n==0) {
253  edm::LogInfo("") << "End of input file" ;
254  }
255  m_currenteventnumber = (m_data >> 32)&0x00ffffff ;
256  if(m_currenteventnumber<eventnumber)
257  LogError("PixelSLinkDataInputSource") << " error, the previous event number (" << eventnumber << ") is LARGER than the next event number (" << m_currenteventnumber << ")" << std::endl;
258 
259  }
260  while( eventnumber == m_currenteventnumber);
261 
262  uint32_t realeventno = synchronizeEvents();
263  if(m_runnumber!=0)
264  id = edm::EventID(m_runnumber, id.luminosityBlock(), realeventno);
265  else
266  id = edm::EventID(id.run(), id.luminosityBlock(), realeventno);
267  return true;
268 }
virtual IOSize read(void *into, IOSize n, IOOffset pos)
Definition: Storage.cc:17
RunNumber_t run() const
std::unique_ptr< FEDRawDataCollection > buffers
unsigned long long uint64_t
Definition: Time.h:15
LuminosityBlockNumber_t luminosityBlock() const
std::unique_ptr< Storage > storage
uint32_t PixelSLinkDataInputSource::synchronizeEvents ( )
private

Definition at line 277 of file PixelSLinkDataInputSource.cc.

References m_currenteventnumber, and mps_fire::result.

Referenced by setRunAndEventInfo().

277  {
278  int32_t result= m_currenteventnumber -1;
279 
280  return(uint32_t) result;
281 }

Member Data Documentation

std::unique_ptr<FEDRawDataCollection> PixelSLinkDataInputSource::buffers
private

Definition at line 63 of file PixelSLinkDataInputSource.h.

Referenced by produce(), and setRunAndEventInfo().

uint32_t PixelSLinkDataInputSource::m_currenteventnumber
private
uint32_t PixelSLinkDataInputSource::m_currenttriggernumber
private

Definition at line 59 of file PixelSLinkDataInputSource.h.

Referenced by setRunAndEventInfo().

uint64_t PixelSLinkDataInputSource::m_data
private

Definition at line 57 of file PixelSLinkDataInputSource.h.

Referenced by PixelSLinkDataInputSource(), and setRunAndEventInfo().

int32_t PixelSLinkDataInputSource::m_eventnumber_shift
private

Definition at line 61 of file PixelSLinkDataInputSource.h.

Referenced by setRunAndEventInfo().

int PixelSLinkDataInputSource::m_fedid
private

Definition at line 53 of file PixelSLinkDataInputSource.h.

Referenced by setRunAndEventInfo().

uint32_t PixelSLinkDataInputSource::m_fileindex
private

Definition at line 54 of file PixelSLinkDataInputSource.h.

Referenced by PixelSLinkDataInputSource().

uint32_t PixelSLinkDataInputSource::m_globaleventnumber
private

Definition at line 60 of file PixelSLinkDataInputSource.h.

int PixelSLinkDataInputSource::m_runnumber
private

Definition at line 56 of file PixelSLinkDataInputSource.h.

Referenced by PixelSLinkDataInputSource(), and setRunAndEventInfo().

std::unique_ptr<Storage> PixelSLinkDataInputSource::storage
private

Definition at line 55 of file PixelSLinkDataInputSource.h.

Referenced by PixelSLinkDataInputSource(), and setRunAndEventInfo().