#include "TDSTReader.h" |
TDSTReader() | |
TDSTReader(const TDSTReader& reader) | |
~TDSTReader() | |
void | TObject::AbstractMethod(const char* method) const |
virtual Int_t | Add(const Char_t* filename) |
virtual Int_t | AddEPICFile(const Char_t* filename, Int_t nentries) |
Int_t | AddFile(const Char_t* filename) |
virtual Int_t | AddFile(const Char_t* filename, Int_t nentries) |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TVirtualReader::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
void | CleanEventClones() |
void | CleanScalerClones() |
virtual void | TObject::Clear(Option_t* = "") |
virtual TObject* | TObject::Clone(const char* newname = "") const |
virtual Int_t | TObject::Compare(const TObject* obj) const |
virtual void | TObject::Copy(TObject& object) const |
virtual void | TObject::Delete(Option_t* option = "") |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual Int_t | TVirtualReader::Draw(const char* varexp, const char* selection, Option_t* option = "", Int_t nentries = 1234567890, Int_t firstentry = 0) |
virtual void | TObject::DrawClass() const |
virtual TObject* | TObject::DrawClone(Option_t* option = "") const |
virtual void | TObject::Dump() const |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
virtual TObject* | GetBankRow(const Char_t* bankname, Int_t nrow) |
TChain* | GetChain(char* which = "Event") |
TClonesArray* | GetClone(const Char_t* bankname) |
virtual Int_t | GetCurrentEvent() |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
virtual Long64_t | GetEntries() const |
virtual Long64_t | GetEntriesFast() const |
virtual Int_t | GetEntry(Int_t entry = -1, Int_t getall = 0) |
virtual TEPICClass* | GetEPICClass() |
virtual Float_t | GetEPICValue(const char* fName) |
virtual Int_t | GetEventNumber() |
virtual TObjArray* | TVirtualReader::GetFiles() |
virtual THEADERClass* | GetHEADER() |
virtual Int_t | GetHelicity() |
virtual const char* | TObject::GetIconName() const |
virtual const char* | TObject::GetName() const |
virtual Int_t | GetNFiles() |
virtual TObject* | TVirtualReader::GetNotify() |
virtual Int_t | GetNPart() |
virtual Int_t | GetNRows(const Char_t* bankname = "EVNT") |
virtual Int_t | TVirtualReader::GetNtrees() |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
virtual TVector3 | GetPart3Vector(Int_t indx) |
virtual Int_t | GetPartCharge(Int_t indx) |
virtual Int_t | GetPartID(Int_t indx) |
virtual TVector3 | GetPartVertex(Int_t indx) |
virtual TString | GetReaderType() |
virtual Int_t | GetRunNumber() |
TStoreClone* | GetStoreClone(const Char_t* bankname) |
virtual const char* | TObject::GetTitle() const |
virtual TChain* | GetTree(Char_t* treename = "EVNT") |
virtual Int_t | GetTreeNumber() |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TObject::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
void | InitBranches() |
void | InitClones() |
void | InitEPICBranch() |
virtual void | TObject::Inspect() const |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TObject::IsSortable() const |
Bool_t | TObject::IsZombie() const |
virtual void | TObject::ls(Option_t* option = "") const |
void | MakeEPICTable() |
void | TObject::MayNotUse(const char* method) const |
virtual Int_t | Next() |
virtual Bool_t | Notify() |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::operator delete[](void* ptr, void* vp) |
void* | TObject::operator new(size_t sz) |
void* | TObject::operator new(size_t sz, void* vp) |
void* | TObject::operator new[](size_t sz) |
void* | TObject::operator new[](size_t sz, void* vp) |
TVirtualReader& | TVirtualReader::operator=(const TVirtualReader&) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | Print(Int_t full = 0) |
virtual void | PrintEPICPosition() |
virtual void | PrintEventStatus() |
virtual Int_t | TObject::Read(const char* name) |
virtual Int_t | TVirtualReader::ReadEvent(Int_t event, Int_t runnum = 0) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
virtual void | Reset() |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") const |
virtual void | TObject::SavePrimitive(ostream& out, Option_t* option = "") |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
Int_t | TVirtualReader::SetDebugMode(Int_t mode) |
virtual void | TObject::SetDrawOption(Option_t* option = "") |
static void | TObject::SetDtorOnly(void* obj) |
virtual void | TVirtualReader::SetNotify(TObject* obj) |
static void | TObject::SetObjectStat(Bool_t stat) |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector& insp, char* parent) |
virtual void | Streamer(TBuffer& b) |
void | StreamerNVirtual(TBuffer& b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = "0", Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = "0", Int_t option = 0, Int_t bufsize = 0) const |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | TObject::MakeZombie() |
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
Int_t | TVirtualReader::fDebug_Mode | Defines printout, Bit 0 = STD Messages, Bit 1 = Errors, Higherbits = Debug |
Int_t | TVirtualReader::fCurrentEvent | Current Data Event (for use with Next() ) |
Int_t | TVirtualReader::fCurrentScaler | Current Scaler Event (for use with NextScaler() ) |
Int_t | TVirtualReader::fScalerLastEvt | to synchronize Event tree and Scaler tree this contain the event number of the last Physics Event. Set by SetBranchAddress |
Bool_t | TVirtualReader::fReadScaler | Turn on or off the automatic reading of scaler branch. Default is on. |
Bool_t | TVirtualReader::fReadMCHD | Turn on or off the reading of the MCHD bank. |
Bool_t | TVirtualReader::fReadGSIM | Turn on or off the reading of the GSIM bank. |
Bool_t | TVirtualReader::fUseGSIM | When set true, read the GSIM bank INSTEAD of the EVNT bank. |
static Int_t | TVirtualReader::fgInstanceCount | Total instance count. |
Int_t | TVirtualReader::fThisInstance | Instance count of this instance. |
THEADERClass* | fEvntHeader | Event Header pointer |
THEADClass* | fScalerHead | Scaler Event Header pointer |
TEPICClass* | fEPIC | EPICClass pointer |
THashList | fClones | Store pointers to TClonesArray of main data |
THashList | fScalerClones | Store pointers to TClonesArray of scalers. |
TChain* | fEventChain | Chain of files with data. TTree points to CLASEVENT |
TChain* | fScalerChain | Chain of files with data. TTree points to SCALER |
TChain* | fEPICChain | Chain of files with data. TTree points to CLASEPIC |
Int_t | fCurrentEPIC | Keeps track of position in EPIC bank.Perhaps should be in TVirtualReader? |
TArrayI* | EPICTable | Table storing the last physics event before each EPIC. Used in GetEPICValue |
____________________
Modified: 6/2005 Maurik Holtrop UNH Add in the PHOTON functionality.
This class is a sub-class of TClasTool. It implements an interface to the ROOT
based DST that is created by the WriteRootDST program. It can be used directly
for analysis, but
The class implements two chains, one for the data events and one for the scaler events. The scaler events are optional, and can be turned off. The actual scaler event implementation is minimal and does not seem to be used much.
More detailed documentation would be useful.
Copy Constructor. Note that this should not be used, since it is not reliable and does not necessairily do what you think it should.
Add new files to the reader. The file name may use the wildcarding notation, eg "xxx*.root" means all files starting with xxx in the current file system directory. This method will return with the number of files that were actually added to the list of files. So 0 (zero) means the files were not found. case with one single file
This method adds a single new file into list of files to be analysed. This list is stored in the TChain *fEventChain and separately in TChain *fScalerChain (for the scalers.) (These chains can be accessed directly with the GetChain(char *which) ) The AddFile method checks if the file requested can actually be read (unlike TChain::AddFile) and will return kERR_File_Not_Found on error. If the branches on the chain are not yet initialized, a call to AddFile will call InitBranches(). Use the TDSTReader::Add() or TDSTReader::AddListOfFiles() to add multiple files at once. For nentries see the TChain::Add() method. (default works fine, so don't specify.) Returns a negative number when there was a problem adding the file, returns 0 (zero) if the file was added succesfully.
This adds a single EPIC file into the fEPICChain. If the function fails to add the filename, or if it contains no trees, then the function returns kERR_File_Not_Found. If InitEPICBranches has not yet been called the function calls InitEPICBranches. On a successful add the function returns kNOERR. The run numbers must be added in order, otherwise if GetEPICValue is called it will most likely become confused and bounce back and forth between the out of order runs and never return a value.
Get an event entry from the file(s) and load it. Returns the number of bytes read. NOTE: This WILL affect the fCurrentEvent which is set to entry.
Next() reads next available Entry in TREE into Clone Arrays. On success returns 0 otherwise -1 will be returned.. fCurrentEvent = 17;
This is a virtual stub. The code does nothing, but is intended to be replaced by your own code. You point to your own code with the SetNotify() method.
InitClones Initializes Clone Arrays for all Banks. This should only be called once.
CleanClones Cleans Clone arrays to Read new Entry from the tree. Calls Clear() which is faster than Delete(), according to TClonesArray documentation Clear() should be faster.
InitBranches Initialize Branches Setup Event Branches and set branch addresses to ClonesArrays Not every file is always going to contain all branches. We test the presence of the branch before setting the BranchAddress, since setting the address on a branch that is not in the file causes a fault.
Print information about this reader. With argument full=1 print even more information.
Makes a table containing the last physics event number before each Epic. The table is used in GetValue to search for the EPIC entry corresponding to the current physics event.
For Debugging ETC, print usefull information on this event. (To be extended )
Print out the run number and the range of event numbers for the current EPIC. Useful for debugging purposes.
Return the EPIC value corresponding to name for the current EPIC event Changes fCurrentEPIC to the Entry corresponding to the current physics event#. Leave this as a sequential search because it is unlikely that the relevant EPIC will change rapidly enough in between calls to make a binary search more effiecient. Right now this is done the "safe" way, that is GetEntry is called each time fCurrentEPIC is updated. The table could allow you to find the right event without this call but using this call allows us to check the run number each time.
This Function returns number of rows (number of entries) of specified Bank (Clones Array). The string argument passed to function is the name of bank. EVNT,ECPB,SCPB,DCPB,CCPB or LCPB. Any other string passed to function will return -1 indicating that there is no bank with that name...
Returns the number of the current event in the Next() sequence. This is not the "Physics event" number, which you get from the header class.
Return the current event number. This is the "Physics event" number, which you get from the header class.
Get a specific bank given the bankname at a specific row given the row name
Return the number of entries faster. Not always correct, if a call to GetEntries() has not been done since the last file was added.
Returns the TTree opened by this reader. For the SCALER TTree the argument must start with an S Note that this actually passes a TChain * (a type of TTree *).
Set the fCurrentEvent and the fCurrentScaler to 0. Thus the next Next() call will start reading at the beginning of the current Chain of data files.