CMS 3D CMS Logo

Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes

sistrip::SpyEventMatcher Class Reference

#include <SiStripSpyEventMatcher.h>

List of all members.

Classes

class  CountersWrapper
class  EventKey
class  SpyDataCollections

Public Types

typedef edm::EventID EventID
typedef std::set< EventIDSpyEventList

Public Member Functions

void getMatchedCollections (const uint32_t eventId, const uint8_t apvAddress, const SpyEventList *matchingEvents, const SiStripFedCabling &cabling, SpyDataCollections &collectionsToCreate)
void initialize ()
const SpyEventListmatchesForEvent (const uint32_t eventId, const uint8_t apvAddress) const
 SpyEventMatcher (const edm::ParameterSet &config)
virtual ~SpyEventMatcher ()

Private Types

typedef std::vector< uint32_t > Counters
typedef boost::shared_ptr
< CountersWrapper
CountersPtr
typedef edm::VectorInputSource Source
typedef
Source::EventPrincipalVectorElement 
SpyEventPtr

Private Member Functions

bool addNextEventToMap ()
SpyEventPtr readNextEvent ()
SpyEventPtr readSpecificEvent (const edm::EventID &id)

Static Private Member Functions

static std::auto_ptr< SourceconstructSource (const edm::ParameterSet &sourceConfig)
static void findMatchingFeds (const uint32_t eventId, const uint8_t apvAddress, CountersPtr totalEventCounters, CountersPtr l1aCounters, CountersPtr apvAddresses, std::set< uint16_t > &matchingFeds)
static CountersPtr getCounters (const SpyEventPtr event, const edm::InputTag &tag, const bool mapKeyIsByFedID=true)
template<class T >
static const TgetProduct (const SpyEventPtr event, const edm::InputTag &tag)
static void mergeMatchingData (const std::set< uint16_t > &matchingFeds, const FEDRawDataCollection &inputRawData, CountersPtr inputTotalEventCounters, CountersPtr inputL1ACounters, CountersPtr inputAPVAddresses, const edm::DetSetVector< SiStripRawDigi > *inputScopeDigis, const edm::DetSetVector< SiStripRawDigi > *inputPayloadDigis, const edm::DetSetVector< SiStripRawDigi > *inputReorderedDigis, const edm::DetSetVector< SiStripRawDigi > *inputVirginRawDigis, FEDRawDataCollection &outputRawData, std::vector< uint32_t > &outputTotalEventCounters, std::vector< uint32_t > &outputL1ACounters, std::vector< uint32_t > &outputAPVAddresses, std::vector< edm::DetSet< SiStripRawDigi > > *outputScopeDigisVector, std::vector< edm::DetSet< SiStripRawDigi > > *outputPayloadDigisVector, std::vector< edm::DetSet< SiStripRawDigi > > *outputReorderedDigisVector, std::vector< edm::DetSet< SiStripRawDigi > > *outputVirginRawDigisVector, const SiStripFedCabling &cabling)

Private Attributes

edm::InputTag apvAddressesTag_
uint32_t counterDiffMax_
std::map< EventKey, SpyEventListeventMatches_
edm::InputTag l1aCountersTag_
edm::InputTag payloadDigisTag_
edm::InputTag rawDataTag_
edm::InputTag reorderedDigisTag_
edm::InputTag scopeDigisTag_
std::auto_ptr< Sourcesource_
edm::InputTag totalEventCountersTag_
edm::InputTag virginRawDigisTag_

Static Private Attributes

static const char * mlLabel_

Detailed Description

Definition at line 30 of file SiStripSpyEventMatcher.h.


Member Typedef Documentation

typedef std::vector<uint32_t> sistrip::SpyEventMatcher::Counters [private]

Definition at line 81 of file SiStripSpyEventMatcher.h.

typedef boost::shared_ptr<CountersWrapper> sistrip::SpyEventMatcher::CountersPtr [private]

Definition at line 99 of file SiStripSpyEventMatcher.h.

Definition at line 57 of file SiStripSpyEventMatcher.h.

Definition at line 102 of file SiStripSpyEventMatcher.h.

Definition at line 58 of file SiStripSpyEventMatcher.h.

Definition at line 104 of file SiStripSpyEventMatcher.h.


Constructor & Destructor Documentation

sistrip::SpyEventMatcher::SpyEventMatcher ( const edm::ParameterSet config)
virtual sistrip::SpyEventMatcher::~SpyEventMatcher ( ) [virtual]

Member Function Documentation

bool sistrip::SpyEventMatcher::addNextEventToMap ( ) [private]
static std::auto_ptr<Source> sistrip::SpyEventMatcher::constructSource ( const edm::ParameterSet sourceConfig) [static, private]
static void sistrip::SpyEventMatcher::findMatchingFeds ( const uint32_t  eventId,
const uint8_t  apvAddress,
CountersPtr  totalEventCounters,
CountersPtr  l1aCounters,
CountersPtr  apvAddresses,
std::set< uint16_t > &  matchingFeds 
) [static, private]
static CountersPtr sistrip::SpyEventMatcher::getCounters ( const SpyEventPtr  event,
const edm::InputTag tag,
const bool  mapKeyIsByFedID = true 
) [static, private]
void sistrip::SpyEventMatcher::getMatchedCollections ( const uint32_t  eventId,
const uint8_t  apvAddress,
const SpyEventList matchingEvents,
const SiStripFedCabling cabling,
SpyDataCollections collectionsToCreate 
)
template<class T >
const T * sistrip::SpyEventMatcher::getProduct ( const SpyEventPtr  event,
const edm::InputTag tag 
) [static, private]

Definition at line 150 of file SiStripSpyEventMatcher.h.

References event(), LogDebug, mlLabel_, NULL, and GlobalPosition_Frontier_DevDB_cff::tag.

  {
    LogDebug(mlLabel_) << "Retrieving product " << tag;
    const boost::shared_ptr< const edm::Wrapper<T> > productWrapper = edm::getProductByTag<T>(*event,tag);
    if (productWrapper) {
      return productWrapper->product();
    } else {
      return NULL;
    }
  }
void sistrip::SpyEventMatcher::initialize ( )
const SpyEventList* sistrip::SpyEventMatcher::matchesForEvent ( const uint32_t  eventId,
const uint8_t  apvAddress 
) const
static void sistrip::SpyEventMatcher::mergeMatchingData ( const std::set< uint16_t > &  matchingFeds,
const FEDRawDataCollection inputRawData,
CountersPtr  inputTotalEventCounters,
CountersPtr  inputL1ACounters,
CountersPtr  inputAPVAddresses,
const edm::DetSetVector< SiStripRawDigi > *  inputScopeDigis,
const edm::DetSetVector< SiStripRawDigi > *  inputPayloadDigis,
const edm::DetSetVector< SiStripRawDigi > *  inputReorderedDigis,
const edm::DetSetVector< SiStripRawDigi > *  inputVirginRawDigis,
FEDRawDataCollection outputRawData,
std::vector< uint32_t > &  outputTotalEventCounters,
std::vector< uint32_t > &  outputL1ACounters,
std::vector< uint32_t > &  outputAPVAddresses,
std::vector< edm::DetSet< SiStripRawDigi > > *  outputScopeDigisVector,
std::vector< edm::DetSet< SiStripRawDigi > > *  outputPayloadDigisVector,
std::vector< edm::DetSet< SiStripRawDigi > > *  outputReorderedDigisVector,
std::vector< edm::DetSet< SiStripRawDigi > > *  outputVirginRawDigisVector,
const SiStripFedCabling cabling 
) [static, private]
SpyEventPtr sistrip::SpyEventMatcher::readNextEvent ( ) [private]
SpyEventPtr sistrip::SpyEventMatcher::readSpecificEvent ( const edm::EventID id) [private]

Member Data Documentation

Definition at line 140 of file SiStripSpyEventMatcher.h.

Definition at line 146 of file SiStripSpyEventMatcher.h.

Definition at line 136 of file SiStripSpyEventMatcher.h.

Definition at line 139 of file SiStripSpyEventMatcher.h.

const char* sistrip::SpyEventMatcher::mlLabel_ [static, private]

Definition at line 147 of file SiStripSpyEventMatcher.h.

Referenced by getProduct().

Definition at line 142 of file SiStripSpyEventMatcher.h.

Definition at line 137 of file SiStripSpyEventMatcher.h.

Definition at line 143 of file SiStripSpyEventMatcher.h.

Definition at line 141 of file SiStripSpyEventMatcher.h.

std::auto_ptr<Source> sistrip::SpyEventMatcher::source_ [private]

Definition at line 145 of file SiStripSpyEventMatcher.h.

Definition at line 138 of file SiStripSpyEventMatcher.h.

Definition at line 144 of file SiStripSpyEventMatcher.h.