Difference between revisions of "Data Skimming"

From GlueXWiki
Jump to: navigation, search
(Created page with "== Physical EVIO Skims == == Physical REST Skims == == Logical Skims (EventStore) ==")
 
Line 1: Line 1:
 
== Physical EVIO Skims ==
 
== Physical EVIO Skims ==
 
== Physical REST Skims ==
 
== Physical REST Skims ==
 +
 +
* '''DEventWriterREST''': Persistent object created by the <span style="color:#0000FF">DEventWriterREST</span> factory.
 +
* <span style="color:#0000FF">DEventWriterREST</span>::Write_RESTEvent(string) saves the event into the REST file specified by the string.
 +
 +
<syntaxhighlight>
 +
//e.g., in your plugin's ::evnt() method:
 +
vector<const DEventWriterREST*> locEventWriterRESTVector;
 +
locEventLoop->Get(locEventWriterRESTVector);
 +
locEventWriterRESTVector[0]->Write_RESTEvent(locEventLoop, "b1pi"); //dana_rest_b1pi.hddm
 +
</syntaxhighlight>
 +
 +
* Can write (skim) to many different files in the same plugin, even during multi-threaded execution.
 +
<syntaxhighlight>
 +
//e.g., in your plugin's ::evnt() method:
 +
if((locNumPositiveTracks >= 2) && (locNumNegativeTracks >= 2))
 +
  locEventWriterRESTVector[0]->Write_RESTEvent(locEventLoop, "2+_2-");
 +
 +
if((locNumPositiveTracks >= 3) && (locNumNegativeTracks >= 2))
 +
  locEventWriterRESTVector[0]->Write_RESTEvent(locEventLoop, "3+_2-");
 +
</syntaxhighlight>
 +
 
== Logical Skims (EventStore) ==
 
== Logical Skims (EventStore) ==

Revision as of 14:37, 21 January 2015

Physical EVIO Skims

Physical REST Skims

  • DEventWriterREST: Persistent object created by the DEventWriterREST factory.
  • DEventWriterREST::Write_RESTEvent(string) saves the event into the REST file specified by the string.
//e.g., in your plugin's ::evnt() method:
vector<const DEventWriterREST*> locEventWriterRESTVector;
locEventLoop->Get(locEventWriterRESTVector);
locEventWriterRESTVector[0]->Write_RESTEvent(locEventLoop, "b1pi"); //dana_rest_b1pi.hddm
  • Can write (skim) to many different files in the same plugin, even during multi-threaded execution.
//e.g., in your plugin's ::evnt() method:
if((locNumPositiveTracks >= 2) && (locNumNegativeTracks >= 2))
  locEventWriterRESTVector[0]->Write_RESTEvent(locEventLoop, "2+_2-");
 
if((locNumPositiveTracks >= 3) && (locNumNegativeTracks >= 2))
  locEventWriterRESTVector[0]->Write_RESTEvent(locEventLoop, "3+_2-");

Logical Skims (EventStore)