1 #ifndef TAnalysisModuleBase_hxx_seen
2 #define TAnalysisModuleBase_hxx_seen
4 #include <TGeoManager.h>
7 #include <TND280Event.hxx>
13 class TAnalysisModuleBase;
113 virtual bool Process(ND::TND280Event &event);
153 virtual Bool_t
Configure(std::string &option);
172 virtual bool FillTree(ND::TND280Event &) = 0;
virtual void Print()
Prints a simple message describing the module.
virtual bool Process(ND::TND280Event &event)
Gets the run and event IDs and calls FillTree with the event, and then actually calls fOutputTree->Fi...
virtual Bool_t IsEnabled() const
Whether the module is enable or not.
virtual void SayAvailableOpts(std::string indent="")
Subclasses should override this to let a user know what options are available.
OA_EXCEPTION(EeventAnalysis, EoaCore)
Generate a base exception for the Analysis library.
std::string const GetDescription() const
Bool_t fIsUsedForPreselection
std::string fDescription
A longish descrition of the analysis.
virtual Bool_t IsUsedForPreselection() const
Whether the module should call IsFullEventWorthSaving() function for each event, to decide if the ful...
A base class for classes which specify how to set up an Analysis format output tree, and fill it.
virtual void SetDisabled()
Disables the module.
std::string const GetCVSTagName() const
virtual bool IsFullEventWorthSaving(ND::TND280Event &event)
Whether the module thinks it is worth saving the entire oaEvent event tree entry for this event...
virtual Bool_t Configure(std::string &option)
A function that allows the module to be configured from an external class without any dependencies...
Int_t fBufferSize
Buffer Size for TBranch.
virtual Bool_t IsEnabledByDefault() const
Is the module is enabled by default.
std::string const GetDirectoryName() const
Returns the name of the directory which the output of a particular module will be saved in...
virtual void SetUsedForPreselection(Bool_t isused=true)
Sets whether the module should call IsFullEventWorthSaving() function for each event, to decide if the full oaEvent info for that event should be saved in the output.
std::string fCVSID
Defined if an official tagged version.
virtual void SetEnabled(Bool_t isenabled=true)
Sets whether the module is enabled.
void SetNameTitle(char const *name, char const *title)
Int_t GetSplitLevel()
ROOT output parameters, usually no need to touch.
virtual void InitializeBranches()=0
Initialize Branches. Don't do anything else in this function.
void Initialize(TTree *tree)
virtual Bool_t ProcessFirstEvent(ND::TND280Event &)=0
Is called after the first event is loaded in.
Int_t GetBufferSize()
ROOT output parameters, usually no need to touch.
virtual void InitializeModule()
Initialize Module, override if necessary.
Int_t fSplitLevel
Split Level for TBranch.
virtual EType GetTreeType() const =0
Returns the type of tree, header, truth, or recon.
virtual ~TAnalysisModuleBase()
TTree const * GetOutputTree() const
The output tree.
std::string const GetCVSID() const
std::string fCVSTagName
Defined if an official tagged version.
void SetBufferSize(Int_t buffersize)
ROOT output parameters, usually no need to touch.
std::string fInputDirectory
An input directory where analysis modules can search for extra files.
void SetSplitLevel(Int_t splitlevel)
ROOT output parameters, usually no need to touch.
void SetInputDirectory(std::string dir)
virtual bool FillTree(ND::TND280Event &)=0
Fill all the stuff that goes in the output tree.
virtual void FillConfigTree(TTree *)