PandaTree
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
panda::TreeEntry Class Referenceabstract

Base class for objects representing one full entry of a tree (e.g. Event). More...

#include <TreeEntry.h>

Inheritance diagram for panda::TreeEntry:
panda::ReaderObject panda::Object panda::EventBase panda::Run panda::Event panda::EventMonophoton panda::EventSV panda::EventTP panda::EventAnalysis panda::EventTP2E panda::EventTP2M panda::EventTPEG panda::EventTPEM panda::EventTPME panda::EventTPMG panda::EventTPEEG panda::EventTPMMG

Public Member Functions

 TreeEntry (TreeEntry const &src)
 
TreeEntryoperator= (TreeEntry const &)
 
void setStatus (TTree &, utils::BranchList const &blist) final
 Set status of branches to true (matching branch) or false (vetoed branch) More...
 
utils::BranchList getStatus (TTree &) const final
 Get status of branches in the tree.
 
utils::BranchList getBranchNames (Bool_t=kTRUE, Bool_t direct=kFALSE) const final
 Get the full list of branch names. More...
 
UInt_t setAddress (TTree &, utils::BranchList const &blist={"*"}, Bool_t setStatus=kTRUE) final
 Bind the tree branches to the elements of this object. More...
 
void book (TTree &, utils::BranchList const &blist={"*"}) final
 Book new branches bound to this object on the tree. More...
 
Int_t getEntry (UInt_t, Long64_t entry, Bool_t localEntry=kFALSE) final
 Read an entry from an input tree. More...
 
Int_t fill (TTree &) final
 Fill a tree. More...
 
void init () final
 Reset the object state.
 
char const * getName () const final
 Name of this object.
 
void setName (char const *) final
 Set object name.
 
void unlink (TTree &) final
 Unlink from a tree.
 
- Public Member Functions inherited from panda::ReaderObject
 ReaderObject (ReaderObject const &src)
 
ReaderObjectoperator= (ReaderObject const &)
 
Int_t getEntry (TTree &tree, Long64_t entry, Bool_t localEntry=kFALSE) final
 Read an entry from an input tree. More...
 
void updateBranchArray (TTree &)
 
- Public Member Functions inherited from panda::Object
 Object (Object const &)
 
Objectoperator= (Object const &)
 
virtual void print (std::ostream &out=std::cout, UInt_t level=1) const
 Print the object content.
 
virtual void dump (std::ostream &=std::cout) const
 Dump the object content.
 

Protected Member Functions

virtual void doSetStatus_ (TTree &, utils::BranchList const &)=0
 
virtual utils::BranchList doGetStatus_ (TTree &) const =0
 
virtual utils::BranchList doGetBranchNames_ () const =0
 
virtual void doSetAddress_ (TTree &tree, utils::BranchList const &, Bool_t setStatus)=0
 
virtual void doBook_ (TTree &, utils::BranchList const &)=0
 
virtual void doGetEntry_ (TTree &)=0
 
virtual void doInit_ ()=0
 
virtual void doUnlink_ (TTree &)=0
 
- Protected Member Functions inherited from panda::ReaderObject
UInt_t registerInput_ (TTree &)
 

Protected Attributes

std::vector< Object * > objects_ {}
 list of object branches (containers and singlets)
 
std::vector< CollectionBase * > collections_ {}
 list of collections (overlaps with objects_)
 
- Protected Attributes inherited from panda::ReaderObject
std::vector< BranchMappinginputBranches_
 List of list of input branches. More...
 

Additional Inherited Members

- Protected Types inherited from panda::ReaderObject
typedef std::vector< TBranch * > BranchArray
 
typedef std::pair< TTree *, BranchArray > BranchMapping
 List of branches linked with this object in the tree.
 

Detailed Description

Base class for objects representing one full entry of a tree (e.g. Event).

A derived class of TreeEntry typically owns multiple Singlets, Containers, as well as its own primitive branches.

Member Function Documentation

§ book()

void panda::TreeEntry::book ( TTree &  tree,
utils::BranchList const &  = {"*"} 
)
finalvirtual

Book new branches bound to this object on the tree.

Parameters
tree
blistList of branches to book. Vetoed or unmentioned branches are not booked.

Reimplemented from panda::Object.

§ fill()

Int_t panda::TreeEntry::fill ( TTree &  tree)
finalvirtual

Fill a tree.

In most of the objects this will just call tree.Fill(). The function takes care of the case with e.g. Collection where internal address can change after the call to book().

Parameters
tree

Reimplemented from panda::Object.

§ getBranchNames()

panda::utils::BranchList panda::TreeEntry::getBranchNames ( Bool_t  fullName = kTRUE,
Bool_t  direct = kFALSE 
) const
finalvirtual

Get the full list of branch names.

Parameters
fullNameIf true, prepend "(object name)."
directIf true, return only direct branches of this object (relevant only for TreeEntry)

Reimplemented from panda::Object.

§ getEntry()

Int_t panda::TreeEntry::getEntry ( UInt_t  treeId,
Long64_t  entry,
Bool_t  localEntry = kFALSE 
)
finalvirtual

Read an entry from an input tree.

Parameters
treeIdIndex of the tree in the inputBranches_ vector.
entryEntry number in the input tree.
localEntryIf true, entry must be the local entry number of the current tree (i.e. return value of LoadTree)

If localEntry is false, calls tree.LoadEntry(entry).

Returns
Number of bytes read.

Reimplemented from panda::ReaderObject.

§ setAddress()

UInt_t panda::TreeEntry::setAddress ( TTree &  tree,
utils::BranchList const &  = {"*"},
Bool_t  setStatus = kTRUE 
)
finalvirtual

Bind the tree branches to the elements of this object.

Parameters
tree
blistList of branches to bind. Vetoed or unmentioned branches are not bound.
setStatusIf true, set the status of the branch to true before binding.
Returns
Index of the bound tree in the inputBranches_ vector.

Reimplemented from panda::Object.

§ setStatus()

void panda::TreeEntry::setStatus ( TTree &  tree,
utils::BranchList const &   
)
finalvirtual

Set status of branches to true (matching branch) or false (vetoed branch)

Sets the status of the branch to true (branch is in the list) or false (branch is vetoed in the list). Branches not mentioned in the branch list are untouched.

Parameters
tree
blistList of branches. The status of a branch is set to true (false) if BranchName::in(blist) (BranchName::vetoed(blist)) evaluates to true for the branch.

Reimplemented from panda::Object.


The documentation for this class was generated from the following files: