Difference between revisions of "Data Skimming"
From GlueXWiki
(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-");