CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | 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>

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 T * getProduct (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)
staticprivate
static void sistrip::SpyEventMatcher::findMatchingFeds ( const uint32_t  eventId,
const uint8_t  apvAddress,
CountersPtr  totalEventCounters,
CountersPtr  l1aCounters,
CountersPtr  apvAddresses,
std::set< uint16_t > &  matchingFeds 
)
staticprivate
static CountersPtr sistrip::SpyEventMatcher::getCounters ( const SpyEventPtr  event,
const edm::InputTag tag,
const bool  mapKeyIsByFedID = true 
)
staticprivate
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 
)
staticprivate

Definition at line 150 of file SiStripSpyEventMatcher.h.

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

151  {
152  LogDebug(mlLabel_) << "Retrieving product " << tag;
153  const boost::shared_ptr< const edm::Wrapper<T> > productWrapper = edm::getProductByTag<T>(*event,tag);
154  if (productWrapper) {
155  return productWrapper->product();
156  } else {
157  return NULL;
158  }
159  }
#define LogDebug(id)
#define NULL
Definition: scimark2.h:8
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
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 
)
staticprivate
SpyEventPtr sistrip::SpyEventMatcher::readNextEvent ( )
private
SpyEventPtr sistrip::SpyEventMatcher::readSpecificEvent ( const edm::EventID id)
private

Member Data Documentation

edm::InputTag sistrip::SpyEventMatcher::apvAddressesTag_
private

Definition at line 140 of file SiStripSpyEventMatcher.h.

uint32_t sistrip::SpyEventMatcher::counterDiffMax_
private

Definition at line 146 of file SiStripSpyEventMatcher.h.

std::map<EventKey,SpyEventList> sistrip::SpyEventMatcher::eventMatches_
private

Definition at line 136 of file SiStripSpyEventMatcher.h.

edm::InputTag sistrip::SpyEventMatcher::l1aCountersTag_
private

Definition at line 139 of file SiStripSpyEventMatcher.h.

const char* sistrip::SpyEventMatcher::mlLabel_
staticprivate

Definition at line 147 of file SiStripSpyEventMatcher.h.

Referenced by getProduct().

edm::InputTag sistrip::SpyEventMatcher::payloadDigisTag_
private

Definition at line 142 of file SiStripSpyEventMatcher.h.

edm::InputTag sistrip::SpyEventMatcher::rawDataTag_
private

Definition at line 137 of file SiStripSpyEventMatcher.h.

edm::InputTag sistrip::SpyEventMatcher::reorderedDigisTag_
private

Definition at line 143 of file SiStripSpyEventMatcher.h.

edm::InputTag sistrip::SpyEventMatcher::scopeDigisTag_
private

Definition at line 141 of file SiStripSpyEventMatcher.h.

std::auto_ptr<Source> sistrip::SpyEventMatcher::source_
private
edm::InputTag sistrip::SpyEventMatcher::totalEventCountersTag_
private

Definition at line 138 of file SiStripSpyEventMatcher.h.

edm::InputTag sistrip::SpyEventMatcher::virginRawDigisTag_
private

Definition at line 144 of file SiStripSpyEventMatcher.h.