Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

caf_util::FindDuplicateEvents Class Reference

This processor removes duplicate events based on the run and event numbers it encounters. By default for data only. More...

#include <FindDuplicateEvents.hpp>

Inheritance diagram for caf_util::FindDuplicateEvents:

cafe::Processor List of all members.

Public Types

typedef std::pair< int, int > Key
typedef std::set< KeyKeySet
typedef KeySet::const_iterator KeyIter

Public Member Functions

 ClassDef (FindDuplicateEvents, 0)
 FindDuplicateEvents (const char *name)
 ~FindDuplicateEvents ()
bool processEvent (cafe::Event &event)
 Called for every event.

void finish ()
 Called at end of processing.


Private Attributes

int _nscreams
int _ndups
bool _ignoreMC
KeySet _keys
cafe::Variables _vars

Static Private Attributes

const TString _line

Detailed Description

This processor removes duplicate events based on the run and event numbers it encounters. By default for data only.

Usage: add this processor to the controller Run processor, e.g.
cafe.Run ... FindDuplicateEvents(processor_name) ...
You can change default behavior via configuration file.

Optional parameters:

Note: The first occurence of a duplicate event is not reported as it is inefficient to remember such details.

Author:
Amnon Harel (aharel@fnal.gov)

Definition at line 28 of file FindDuplicateEvents.hpp.


Member Typedef Documentation

typedef std::pair<int,int> caf_util::FindDuplicateEvents::Key
 

Definition at line 39 of file FindDuplicateEvents.hpp.

Referenced by processEvent().

typedef KeySet::const_iterator caf_util::FindDuplicateEvents::KeyIter
 

Definition at line 41 of file FindDuplicateEvents.hpp.

Referenced by processEvent().

typedef std::set<Key> caf_util::FindDuplicateEvents::KeySet
 

Definition at line 40 of file FindDuplicateEvents.hpp.


Constructor & Destructor Documentation

caf_util::FindDuplicateEvents::FindDuplicateEvents const char *  name  ) 
 

Definition at line 9 of file FindDuplicateEvents.cpp.

References _ignoreMC, _ndups, _nscreams, cafe::Config::get(), and cafe::Processor::name().

caf_util::FindDuplicateEvents::~FindDuplicateEvents  )  [inline]
 

Definition at line 35 of file FindDuplicateEvents.hpp.


Member Function Documentation

caf_util::FindDuplicateEvents::ClassDef FindDuplicateEvents  ,
 

void caf_util::FindDuplicateEvents::finish  )  [virtual]
 

Called at end of processing.

Reimplemented from cafe::Processor.

Definition at line 62 of file FindDuplicateEvents.cpp.

References _line, _ndups, _nscreams, cafe::Processor::name(), and cafe::Processor::out().

bool caf_util::FindDuplicateEvents::processEvent cafe::Event event  )  [virtual]
 

Called for every event.

Reimplemented from cafe::Processor.

Definition at line 20 of file FindDuplicateEvents.cpp.

References _ignoreMC, _keys, _line, _ndups, _nscreams, _vars, cafe::Processor::debug(), cafe::Processor::err(), TMBGlobal::evtno(), cafe::Event::getGlobal(), cafe::Event::getMCEventInfo(), Key, KeyIter, cafe::Processor::name(), TMBMCevtInfo::nchunks(), cafe::Processor::out(), and TMBGlobal::runno().


Member Data Documentation

bool caf_util::FindDuplicateEvents::_ignoreMC [private]
 

Definition at line 46 of file FindDuplicateEvents.hpp.

Referenced by FindDuplicateEvents(), and processEvent().

KeySet caf_util::FindDuplicateEvents::_keys [private]
 

Definition at line 47 of file FindDuplicateEvents.hpp.

Referenced by processEvent().

const TString caf_util::FindDuplicateEvents::_line [static, private]
 

Referenced by finish(), and processEvent().

int caf_util::FindDuplicateEvents::_ndups [private]
 

Definition at line 45 of file FindDuplicateEvents.hpp.

Referenced by FindDuplicateEvents(), finish(), and processEvent().

int caf_util::FindDuplicateEvents::_nscreams [private]
 

Definition at line 45 of file FindDuplicateEvents.hpp.

Referenced by FindDuplicateEvents(), finish(), and processEvent().

cafe::Variables caf_util::FindDuplicateEvents::_vars [private]
 

Definition at line 50 of file FindDuplicateEvents.hpp.

Referenced by processEvent().


The documentation for this class was generated from the following files:
Generated on Tue Mar 28 10:13:09 2006 for CAF by doxygen 1.3.4