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
struct  MatchingOutput
class  SpyDataCollections

Public Types

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

Public Member Functions

void getCollections (const edm::EventPrincipal &event, const uint32_t eventId, const uint8_t apvAddress, const SiStripFedCabling &cabling, MatchingOutput &matchingOutput)
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

Private Member Functions

void addNextEventToMap (const edm::EventPrincipal &nextSpyEvent)
void operator() (const edm::EventPrincipal &event)

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 edm::EventPrincipal &event, const edm::InputTag &tag, const bool mapKeyIsByFedID=true)
template<class T >
static const TgetProduct (const edm::EventPrincipal &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 100 of file SiStripSpyEventMatcher.h.

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

Definition at line 118 of file SiStripSpyEventMatcher.h.

Definition at line 71 of file SiStripSpyEventMatcher.h.

Definition at line 121 of file SiStripSpyEventMatcher.h.

Definition at line 72 of file SiStripSpyEventMatcher.h.


Constructor & Destructor Documentation

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

Member Function Documentation

void sistrip::SpyEventMatcher::addNextEventToMap ( const edm::EventPrincipal nextSpyEvent) [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]
void sistrip::SpyEventMatcher::getCollections ( const edm::EventPrincipal event,
const uint32_t  eventId,
const uint8_t  apvAddress,
const SiStripFedCabling cabling,
MatchingOutput matchingOutput 
)
static CountersPtr sistrip::SpyEventMatcher::getCounters ( const edm::EventPrincipal 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 edm::EventPrincipal event,
const edm::InputTag tag 
) [static, private]

Definition at line 167 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]
void sistrip::SpyEventMatcher::operator() ( const edm::EventPrincipal event) [private]

Member Data Documentation

Definition at line 157 of file SiStripSpyEventMatcher.h.

Definition at line 163 of file SiStripSpyEventMatcher.h.

Definition at line 153 of file SiStripSpyEventMatcher.h.

Definition at line 156 of file SiStripSpyEventMatcher.h.

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

Definition at line 164 of file SiStripSpyEventMatcher.h.

Referenced by getProduct().

Definition at line 159 of file SiStripSpyEventMatcher.h.

Definition at line 154 of file SiStripSpyEventMatcher.h.

Definition at line 160 of file SiStripSpyEventMatcher.h.

Definition at line 158 of file SiStripSpyEventMatcher.h.

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

Definition at line 162 of file SiStripSpyEventMatcher.h.

Definition at line 155 of file SiStripSpyEventMatcher.h.

Definition at line 161 of file SiStripSpyEventMatcher.h.