Saturday, May 26, 2007

Research:D0:caf_util: about processor EMJetMatching

The processor EMJetMatching doesn't throw any events away, basically, it just tries to loop all EM objects which may be in the cone with a jet. Here if EM and Jet are in the jet cone, then label this JET as EM, say, change flag isEM() true, if not, label isEM() as false. Why? Since we isEM() is set as reconstructing, so it may not be right.

The processor EMJetMatching is based on the class SelectUserObjects. The latter has documentation as below.

/**
* Select objects based on a user defined cut.
*
* The cut is supplied by the user by overriding the
* virtual selectObject(const T& obj) method.
*
* To use this class, inherit from it, passing the desired
* object type to the base class:
*
* class MySelector : public SelectUserObjects {
*
* Then override the selectObject(const TMBJet& obj) method.
* The user can also override two more methods (which do nothing
* by default):
*
* void before(Collection& from);
* void after(Collection& accepted, Collection& rejected);
*
* Configuration options:
*
* - .From: OldBranchname [required]
* - .To: NewBranchName [required]
* - .RejectedBranch: NewBranchName for the rejected objects [default none]
* - .Tree: OutputTreeName[default: name()]
* - .Variables: Member variable list [default: all]
*
* - .LoadAll: Load whole object before it is copied [default: 1]
* You should probably never change this if you don't know exactly
* what you are doing.
*
* \ingroup cafe
*/

No comments:

Locations of visitors to this page