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
 
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)
 
std::unique_ptr< SourceconstructSource (const edm::ParameterSet &sourceConfig)
 
void operator() (const edm::EventPrincipal &event)
 

Static Private Member Functions

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_
 
std::unique_ptr
< edm::EventPrincipal
eventPrincipal_
 
edm::InputTag l1aCountersTag_
 
edm::InputTag payloadDigisTag_
 
std::unique_ptr
< edm::ProcessConfiguration
processConfiguration_
 
std::unique_ptr
< edm::ProductRegistry
productRegistry_
 
edm::InputTag rawDataTag_
 
edm::InputTag reorderedDigisTag_
 
edm::InputTag scopeDigisTag_
 
std::unique_ptr
< edm::VectorInputSource >
const 
source_
 
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
std::unique_ptr<Source> sistrip::SpyEventMatcher::constructSource ( const edm::ParameterSet sourceConfig)
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 
)
staticprivate
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 
)
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 edm::EventPrincipal event,
const edm::InputTag tag 
)
staticprivate

Definition at line 170 of file SiStripSpyEventMatcher.h.

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

171  {
172  LogDebug(mlLabel_) << "Retrieving product " << tag;
173  const boost::shared_ptr< const edm::Wrapper<T> > productWrapper = edm::getProductByTag<T>(event,tag);
174  if (productWrapper) {
175  return productWrapper->product();
176  } else {
177  return NULL;
178  }
179  }
#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
void sistrip::SpyEventMatcher::operator() ( const edm::EventPrincipal event)
private

Member Data Documentation

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

Definition at line 157 of file SiStripSpyEventMatcher.h.

uint32_t sistrip::SpyEventMatcher::counterDiffMax_
private

Definition at line 162 of file SiStripSpyEventMatcher.h.

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

Definition at line 153 of file SiStripSpyEventMatcher.h.

std::unique_ptr<edm::EventPrincipal> sistrip::SpyEventMatcher::eventPrincipal_
private

Definition at line 166 of file SiStripSpyEventMatcher.h.

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

Definition at line 156 of file SiStripSpyEventMatcher.h.

const char* sistrip::SpyEventMatcher::mlLabel_
staticprivate

Definition at line 167 of file SiStripSpyEventMatcher.h.

Referenced by getProduct().

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

Definition at line 159 of file SiStripSpyEventMatcher.h.

std::unique_ptr<edm::ProcessConfiguration> sistrip::SpyEventMatcher::processConfiguration_
private

Definition at line 165 of file SiStripSpyEventMatcher.h.

std::unique_ptr<edm::ProductRegistry> sistrip::SpyEventMatcher::productRegistry_
private

Definition at line 163 of file SiStripSpyEventMatcher.h.

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

Definition at line 154 of file SiStripSpyEventMatcher.h.

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

Definition at line 160 of file SiStripSpyEventMatcher.h.

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

Definition at line 158 of file SiStripSpyEventMatcher.h.

std::unique_ptr<edm::VectorInputSource> const sistrip::SpyEventMatcher::source_
private
edm::InputTag sistrip::SpyEventMatcher::totalEventCountersTag_
private

Definition at line 155 of file SiStripSpyEventMatcher.h.

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

Definition at line 161 of file SiStripSpyEventMatcher.h.