ROOT logo
AliRoot » STEER » AOD » AliAODExtension

class AliAODExtension: public TNamed

     Support class for AOD extensions. This is created by the user analysis
     that requires a separate file for some AOD branches. The name of the
     AliAODExtension object is the file name where the AOD branches will be
     stored.

Function Members (Methods)

public:
AliAODExtension()
AliAODExtension(const char* name, const char* title, Bool_t isfilter = kFALSE)
virtual~AliAODExtension()
voidTObject::AbstractMethod(const char* method) const
voidAddAODtoTreeUserInfo()
voidAddBranch(const char* cname, void* addobj)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
voidDisableReferences()
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
voidDropUnspecifiedBranches()
virtual voidTObject::Dump() constMENU
voidEnableReferences()
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
voidFillTree()
voidFilterBranch(const char* branchName, AliAODBranchReplicator* replicator = 0x0)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Bool_tFinishEvent()
AliAODEvent*GetAOD() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
Int_tGetNpassed() const
Int_tGetNtotal() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
const char*GetOutputFileName() const
virtual const char*TNamed::GetTitle() const
TTree*GetTree() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
Bool_tInit(Option_t* option)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
Bool_tIsEventSelected() const
Bool_tIsFilteredAOD() const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tIsToMerge() const
Bool_tTObject::IsZombie() const
voidKeepUnspecifiedBranches()
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::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)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* opt = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidSelectEvent(Bool_t flag = kTRUE)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEvent(AliAODEvent* event)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOutputFileName(const char* fname)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidSetToMerge(Bool_t flag)
voidSetTreeBuffSize(Long64_t sz = 30000000)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTerminateIO()
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
enum EAliAODExtensionFlags { kFilteredAOD
kDropUnspecifiedBranches
kToMerge
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
private:
AliAODEvent*fAODEvent! Pointer to the AOD event
Bool_tfEnableReferenceswhether or not to enable the TRefTable branch
TFile*fFileE! Output file
Long64_tfMemCountAODNumber of bytes filled in tree (accumulates until requested bytes reached)
Int_tfNpassed! Number of events that passed the filter
Int_tfNtotal! Number of processed events
TList*fObjectList! internal list of which objects to keep
TList*fRepFiListlist of unique filter/replicator
TMap*fRepFiMapwhich branch(es) to filter out / and or replicate
Bool_tfSelected! Select current event for filtered AOD's. Made false at event start.
Long64_tfTreeBuffSizeRequested buffer size for AOD tree
TTree*fTreeE! tree for AOD persistency

Class Charts

Inheritance Chart:
TNamed
AliAODExtension

Function documentation

AliAODExtension()
 default ctor
AliAODExtension(const char* name, const char* title, Bool_t isfilter = kFALSE)
 Constructor.
~AliAODExtension()
 Destructor.
void AddBranch(const char* cname, void* addobj)
 Add a new branch to the aod
Bool_t FinishEvent()
 Fill current event.
void FillTree()
   Fill AOD extension tree and check AutoFlush settings

Bool_t Init(Option_t* option)
 Initialize IO.
void Print(Option_t* opt = "") const
 Print info about this extension
void SetEvent(AliAODEvent* event)
 Connects to an external event
void AddAODtoTreeUserInfo()
 Add aod event to tree user info
Bool_t TerminateIO()
 Terminate IO
void FilterBranch(const char* branchName, AliAODBranchReplicator* replicator = 0x0)
 Specify a filter/replicator for a given branch

 If repfi=0x0, this will disable the branch (in the output) completely.

 repfi is adopted by this class, i.e. user should not delete it.

 WARNING : branch name must be exact.

 See also the documentation for AliAODBranchReplicator class.

AliAODExtension()
Int_t GetNtotal() const
{return fNtotal;}
Int_t GetNpassed() const
{return fNpassed;}
const char* GetOutputFileName() const
{return TNamed::GetName();}
AliAODEvent* GetAOD() const
{return fAODEvent;}
TTree* GetTree() const
{return fTreeE;}
Bool_t IsFilteredAOD() const
Bool_t IsEventSelected() const
{return fSelected;}
Bool_t IsToMerge() const
void SelectEvent(Bool_t flag = kTRUE)
{fSelected = flag;}
void SetOutputFileName(const char* fname)
{TNamed::SetName(fname);}
void SetToMerge(Bool_t flag)
void SetTreeBuffSize(Long64_t sz = 30000000)
void DropUnspecifiedBranches()
 Branches not specified in any FilterBranch call will be dropped by default
void KeepUnspecifiedBranches()
 Branches not specified in any FilterBranch call will be kept by default
void DisableReferences()
 Use DisableReferences if and only if the output AOD contains no TRef or TRefArray,
   otherwise the produced AOD won't be valid.

void EnableReferences()
AliAODExtension& operator=(const AliAODExtension& )