eventAnalysis  7.0-49-g0ac7482
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ND::TP0DReconModule Class Reference

Used to fill a TTree of summary information for the P0D reconstruction algorithms. More...

#include <TP0DReconModule.hxx>

+ Inheritance diagram for ND::TP0DReconModule:
+ Collaboration diagram for ND::TP0DReconModule:

Classes

struct  ObjectID
 An internal Id and object type for each Reconstruction object. More...
 
class  TP0DAlgoRes
 Used to summarise the various reconstruction algorithm results that p0dRecon employs. More...
 
class  TP0DCluster
 Contains a summary of the reconstruction information in a TReconCluster. Contains a summary of the reconstruction information in a TReconTrack. More...
 
class  TP0DHit
 
class  TP0DNode
 Contains a summary of the reconstruction information in a TSingleHit. More...
 
class  TP0DParticle
 A summary of the reconstruction information in a TReconPID. More...
 
class  TP0DShower
 Contains a summary of the reconstruction information in a TReconShower. More...
 
class  TP0DTrack
 Contains a summary of the reconstruction information in a TReconNode. More...
 
class  TP0DVertex
 Contains a summary of the reconstruction information in a TReconVertex. More...
 

Public Member Functions

 TP0DReconModule (const char *name="P0D", const char *title="P0D Recon Module")
 
virtual ~TP0DReconModule ()
 
virtual Bool_t Configure (std::string &option)
 A function that allows the module to be configured from an external class without any dependencies. More...
 
virtual void FillConfigTree (TTree *)
 
Int_t GetBufferSize ()
 ROOT output parameters, usually no need to touch. More...
 
std::string const GetCVSID () const
 
std::string const GetCVSTagName () const
 
std::string const GetDescription () const
 
std::string const GetDirectoryName () const
 Returns the name of the directory which the output of a particular module will be saved in. More...
 
char const * GetName ()
 
TTree const * GetOutputTree () const
 The output tree. More...
 
Int_t GetSplitLevel ()
 ROOT output parameters, usually no need to touch. More...
 
char const * GetTitle ()
 
virtual EType GetTreeType () const
 Returns the type of tree, header, truth, or recon. More...
 
void Initialize (TTree *tree)
 
virtual Bool_t IsEnabled () const
 Whether the module is enable or not. More...
 
virtual Bool_t IsEnabledByDefault () const
 Is the module is enabled by default. More...
 
virtual bool IsFullEventWorthSaving (ND::TND280Event &event)
 Whether the module thinks it is worth saving the entire oaEvent event tree entry for this event. More...
 
virtual Bool_t IsUsedForPreselection () const
 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. More...
 
void KillOutputTree ()
 
virtual void Print ()
 Prints a simple message describing the module. More...
 
virtual bool Process (ND::TND280Event &event)
 Gets the run and event IDs and calls FillTree with the event, and then actually calls fOutputTree->Fill. More...
 
virtual Bool_t ProcessFirstEvent (ND::TND280Event &)
 Is called after the first event is loaded in. More...
 
virtual void SayAvailableOpts (std::string indent="")
 Subclasses should override this to let a user know what options are available. More...
 
void SetBufferSize (Int_t buffersize)
 ROOT output parameters, usually no need to touch. More...
 
virtual void SetDisabled ()
 Disables the module. More...
 
virtual void SetEnabled (Bool_t isenabled=true)
 Sets whether the module is enabled. More...
 
void SetInputDirectory (std::string dir)
 
void SetNameTitle (char const *name, char const *title)
 
void SetSplitLevel (Int_t splitlevel)
 ROOT output parameters, usually no need to touch. More...
 
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. More...
 

Public Attributes

TClonesArray * fAlgoResults
 The TP0DAlgoRes vector of Algorithm Results. More...
 
TClonesArray * fClusters
 The TP0DCluster vector of clusters. More...
 
TClonesArray * fHits
 The TP0DHit vector of hits. More...
 
Short_t fNAlgoResults
 The number of Algorithm Results. More...
 
Short_t fNClusters
 The number of clusters. More...
 
Short_t fNHits
 The number of hits that are saved. More...
 
Short_t fNNodes
 The number of track nodes. More...
 
TClonesArray * fNodes
 The TP0DNode vector of nodes. More...
 
Short_t fNParticles
 The number of particles. More...
 
Short_t fNShowers
 The number of showers. More...
 
Short_t fNTracks
 The number of tracks. More...
 
Short_t fNVertices
 The number of added vertices. More...
 
TClonesArray * fParticles
 The TP0DParticle vector of particles. More...
 
TClonesArray * fShowers
 The TP0DShower vector of showers. More...
 
TClonesArray * fTracks
 The TP0DTrack vector of tracks. More...
 
TClonesArray * fVertices
 The TP0DVertex vector of vertices. More...
 

Protected Types

enum  EType {
  kHeader = 0, kTruth, kRecon, kLowLevel,
  kNTypes
}
 

Protected Member Functions

short CountValidDimensions (TVector3 posVar)
 
virtual short FillAlgorithmResult (const ND::THandle< ND::TAlgorithmResult >, short)
 
template<class T >
void FillBaseObject (T basePtr, ND::THandle< ND::TReconBase > baseObject, bool saveHits)
 
virtual ObjectID FillClusterObject (const ND::THandle< ND::TReconCluster >, bool saveHits)
 
short FillHit (const ND::THandle< ND::THit >)
 
virtual short FillNode (const ND::THandle< ND::TReconNode >, bool saveHits)
 
virtual ObjectID FillParticleObject (const ND::THandle< ND::TReconPID >, bool saveHits)
 
virtual ObjectID FillReconObject (const ND::THandle< ND::TReconBase >, bool saveHits)
 
virtual ObjectID FillShowerObject (const ND::THandle< ND::TReconShower >, bool saveHits)
 
virtual ObjectID FillTrackObject (const ND::THandle< ND::TReconTrack >, bool saveHits)
 
virtual bool FillTree (ND::TND280Event &)
 Fill all the stuff that goes in the output tree. More...
 
virtual ObjectID FillVertexObject (const ND::THandle< ND::TReconVertex >, bool saveHits)
 
short GetCycle (const ND::THandle< ND::THitSelection >)
 
virtual std::map< int,
std::pair< int, float > > 
HitTruthInfo (const ND::THandle< ND::THitSelection >)
 
virtual std::vector< int > HitTruthPrimaryInfo (const ND::THandle< ND::THitSelection >)
 
virtual void InitializeBranches ()
 Initialize Branches. Don't do anything else in this function. More...
 
virtual void InitializeModule ()
 Initialize Module, override if necessary. More...
 

Protected Attributes

Int_t fBufferSize
 Buffer Size for TBranch. More...
 
std::string fCVSID
 Defined if an official tagged version. More...
 
std::string fCVSTagName
 Defined if an official tagged version. More...
 
std::string fDescription
 A longish descrition of the analysis. More...
 
Int_t fEventID
 
Bool_t fFilledConfigTree
 
std::string fInputDirectory
 An input directory where analysis modules can search for extra files. More...
 
Bool_t fIsEnabled
 
Bool_t fIsMC
 
Bool_t fIsUsedForPreselection
 
std::string fName
 
TTree * fOutputTree
 
Int_t fPreselected
 
Int_t fRunID
 
Int_t fSplitLevel
 Split Level for TBranch. More...
 
Int_t fSubrunID
 
std::string fTitle
 

Private Attributes

std::vector< TPRegexp > fRejectAlgoResultList
 If an incoming TAlgorithmResult's name matches a pattern within this vector it will not be summarised and stored. More...
 
std::map< UInt_t, short > fTempHitMap
 Scratch space to keep track of already summarised THits. More...
 

Detailed Description

Used to fill a TTree of summary information for the P0D reconstruction algorithms.

Definition at line 39 of file TP0DReconModule.hxx.

Member Enumeration Documentation

enum ND::TAnalysisModuleBase::EType
protectedinherited
Enumerator
kHeader 
kTruth 
kRecon 
kLowLevel 
kNTypes 

Definition at line 54 of file TAnalysisModuleBase.hxx.

Constructor & Destructor Documentation

ND::TP0DReconModule::TP0DReconModule ( const char *  name = "P0D",
const char *  title = "P0D Recon Module" 
)

Definition at line 77 of file TP0DReconModule.cxx.

References CVSID, and CVSTAG.

ND::TP0DReconModule::~TP0DReconModule ( )
virtual

Definition at line 125 of file TP0DReconModule.cxx.

Member Function Documentation

Bool_t ND::TAnalysisModuleBase::Configure ( std::string &  option)
virtualinherited

A function that allows the module to be configured from an external class without any dependencies.

Should be overridden with a function that responds to the string option, and returns true if configuration succedded. Used in TAnalysisLoop.cxx (and RunEventAnalysis.exe) for options of the form: -O TTruthTrajectoriesModule=SaveAll

Reimplemented in ND::TTrackerECALReconModule::OutputManager, ND::TGlobalReconModule, ND::TBeamSummaryDataModule, ND::TTruthTrajectoriesModule, ND::TBasicHeaderModule, and ND::TTagsModule.

Definition at line 17 of file TAnalysisModuleBase.cxx.

short ND::TP0DReconModule::CountValidDimensions ( TVector3  posVar)
protected

Definition at line 1215 of file TP0DReconModule.cxx.

short ND::TP0DReconModule::FillHit ( const ND::THandle< ND::THit >  hit)
protected
ND::TP0DReconModule::ObjectID ND::TP0DReconModule::FillReconObject ( const ND::THandle< ND::TReconBase >  reconObject,
bool  saveHits = true 
)
protectedvirtual

Definition at line 476 of file TP0DReconModule.cxx.

Referenced by FillBaseObject().

bool ND::TP0DReconModule::FillTree ( ND::TND280Event &  )
protectedvirtual

Fill all the stuff that goes in the output tree.

Return true if everything went well. Otherwise, the module may be disabled! (return definition changed Apr 2009!)

Implements ND::TAnalysisModuleBase.

Definition at line 190 of file TP0DReconModule.cxx.

Int_t ND::TAnalysisModuleBase::GetBufferSize ( )
inherited

ROOT output parameters, usually no need to touch.

Definition at line 123 of file TAnalysisModuleBase.hxx.

References ND::TAnalysisModuleBase::fBufferSize.

std::string const ND::TAnalysisModuleBase::GetCVSID ( ) const
inherited

Definition at line 136 of file TAnalysisModuleBase.hxx.

References ND::TAnalysisModuleBase::fCVSID.

std::string const ND::TAnalysisModuleBase::GetCVSTagName ( ) const
inherited

Definition at line 135 of file TAnalysisModuleBase.hxx.

References ND::TAnalysisModuleBase::fCVSTagName.

short ND::TP0DReconModule::GetCycle ( const ND::THandle< ND::THitSelection >  hits)
protected

Definition at line 1183 of file TP0DReconModule.cxx.

References eventAnalysisEnums::kP0D.

Referenced by FillBaseObject().

std::string const ND::TAnalysisModuleBase::GetDescription ( ) const
inherited

Definition at line 134 of file TAnalysisModuleBase.hxx.

References ND::TAnalysisModuleBase::fDescription.

std::string const ND::TAnalysisModuleBase::GetDirectoryName ( ) const
inherited

Returns the name of the directory which the output of a particular module will be saved in.

Definition at line 22 of file TAnalysisModuleBase.cxx.

Referenced by ND::TAnalysisLoop::Initialize().

TTree const* ND::TAnalysisModuleBase::GetOutputTree ( ) const
inherited

The output tree.

Definition at line 139 of file TAnalysisModuleBase.hxx.

References ND::TAnalysisModuleBase::fOutputTree.

Int_t ND::TAnalysisModuleBase::GetSplitLevel ( )
inherited

ROOT output parameters, usually no need to touch.

Definition at line 129 of file TAnalysisModuleBase.hxx.

References ND::TAnalysisModuleBase::fSplitLevel.

char const * ND::TAnalysisModuleBase::GetTitle ( )
inherited

Definition at line 118 of file TAnalysisModuleBase.cxx.

Referenced by ND::TAnalysisLoop::Initialize().

virtual EType ND::TP0DReconModule::GetTreeType ( ) const
virtual

Returns the type of tree, header, truth, or recon.

This is overridden in the derived base classes such as TAnalysisReconModuleBase, so users do not need to override it explicitly

Reimplemented from ND::TAnalysisReconModuleBase.

Definition at line 1158 of file TP0DReconModule.hxx.

References ND::TAnalysisModuleBase::kRecon.

std::map< int, std::pair< int, float > > ND::TP0DReconModule::HitTruthInfo ( const ND::THandle< ND::THitSelection >  hits)
protectedvirtual

Definition at line 1095 of file TP0DReconModule.cxx.

std::vector< int > ND::TP0DReconModule::HitTruthPrimaryInfo ( const ND::THandle< ND::THitSelection >  hits)
protectedvirtual

Definition at line 1154 of file TP0DReconModule.cxx.

void ND::TAnalysisModuleBase::Initialize ( TTree *  tree)
inherited

Definition at line 37 of file TAnalysisModuleBase.cxx.

Referenced by ND::TAnalysisLoop::Initialize().

void ND::TP0DReconModule::InitializeBranches ( )
protectedvirtual

Initialize Branches. Don't do anything else in this function.

Implements ND::TAnalysisModuleBase.

Definition at line 134 of file TP0DReconModule.cxx.

void ND::TP0DReconModule::InitializeModule ( )
protectedvirtual

Initialize Module, override if necessary.

Reimplemented from ND::TAnalysisModuleBase.

Definition at line 132 of file TP0DReconModule.cxx.

virtual Bool_t ND::TAnalysisModuleBase::IsEnabled ( ) const
virtualinherited

Whether the module is enable or not.

Definition at line 84 of file TAnalysisModuleBase.hxx.

References ND::TAnalysisModuleBase::fIsEnabled.

Referenced by ND::TAnalysisLoop::Initialize(), and ND::TAnalysisLoop::operator()().

virtual Bool_t ND::TAnalysisModuleBase::IsEnabledByDefault ( ) const
virtualinherited
bool ND::TAnalysisModuleBase::IsFullEventWorthSaving ( ND::TND280Event &  event)
virtualinherited

Whether the module thinks it is worth saving the entire oaEvent event tree entry for this event.

eventAnalysis can be used for event pre-selection in this way. Activated with the –oaEvent-preselection=<moduleclass>> command- line argument

Reimplemented in ND::TTrackerECALReconModule::OutputManager, ND::TReconPerformanceEvalModule, and ND::TTRExReconModule.

Definition at line 90 of file TAnalysisModuleBase.cxx.

virtual Bool_t ND::TAnalysisModuleBase::IsUsedForPreselection ( ) const
virtualinherited

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.

Definition at line 93 of file TAnalysisModuleBase.hxx.

References ND::TAnalysisModuleBase::fIsUsedForPreselection.

Referenced by ND::TAnalysisLoop::Initialize(), and ND::TAnalysisLoop::operator()().

void ND::TAnalysisModuleBase::KillOutputTree ( )
inherited

Definition at line 140 of file TAnalysisModuleBase.hxx.

References ND::TAnalysisModuleBase::fOutputTree.

void ND::TAnalysisModuleBase::Print ( )
virtualinherited

Prints a simple message describing the module.

Should be overridden for more detail

Definition at line 99 of file TAnalysisModuleBase.cxx.

Referenced by ND::TAnalysisLoop::Initialize().

bool ND::TAnalysisModuleBase::Process ( ND::TND280Event &  event)
virtualinherited

Gets the run and event IDs and calls FillTree with the event, and then actually calls fOutputTree->Fill.

Definition at line 77 of file TAnalysisModuleBase.cxx.

Referenced by ND::TAnalysisLoop::operator()().

Bool_t ND::TP0DReconModule::ProcessFirstEvent ( ND::TND280Event &  )
virtual

Is called after the first event is loaded in.

This is a good time to save persistent quantities in the module's data members, which will be retrievable from the eventAnalysis output file. Not intended for filling in the tree with the first event, as Process() will also be called.

Implements ND::TAnalysisModuleBase.

Definition at line 127 of file TP0DReconModule.cxx.

virtual void ND::TAnalysisModuleBase::SayAvailableOpts ( std::string  indent = "")
virtualinherited

Subclasses should override this to let a user know what options are available.

Reimplemented in ND::TTrackerECALReconModule::OutputManager, ND::TGlobalReconModule, ND::TTagsModule, and ND::TBasicHeaderModule.

Definition at line 156 of file TAnalysisModuleBase.hxx.

void ND::TAnalysisModuleBase::SetBufferSize ( Int_t  buffersize)
inherited

ROOT output parameters, usually no need to touch.

Definition at line 126 of file TAnalysisModuleBase.hxx.

References ND::TAnalysisModuleBase::fBufferSize.

virtual void ND::TAnalysisModuleBase::SetDisabled ( )
virtualinherited

Disables the module.

Is called when an exception is thrown inside the module.

Definition at line 74 of file TAnalysisModuleBase.hxx.

References ND::TAnalysisModuleBase::SetEnabled().

Referenced by ND::TAnalysisLoop::Initialize(), and ND::TAnalysisLoop::operator()().

virtual void ND::TAnalysisModuleBase::SetEnabled ( Bool_t  isenabled = true)
virtualinherited

Sets whether the module is enabled.

This only refer to modules which have been included for consideration by being instantiated in TAnalysisLoop.cxx or similar.

Definition at line 70 of file TAnalysisModuleBase.hxx.

References ND::TAnalysisModuleBase::fIsEnabled.

Referenced by ND::TAnalysisLoop::Initialize(), ND::TAnalysisModuleBase::SetDisabled(), and ND::TAnalysisLoop::SetOption().

void ND::TAnalysisModuleBase::SetInputDirectory ( std::string  dir)
inherited

Definition at line 158 of file TAnalysisModuleBase.hxx.

References ND::TAnalysisModuleBase::fInputDirectory.

void ND::TAnalysisModuleBase::SetSplitLevel ( Int_t  splitlevel)
inherited
virtual void ND::TAnalysisModuleBase::SetUsedForPreselection ( Bool_t  isused = true)
virtualinherited

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.

Definition at line 79 of file TAnalysisModuleBase.hxx.

References ND::TAnalysisModuleBase::fIsUsedForPreselection.

Referenced by ND::TAnalysisLoop::SetOption().

Member Data Documentation

TClonesArray* ND::TP0DReconModule::fAlgoResults

The TP0DAlgoRes vector of Algorithm Results.

Definition at line 1218 of file TP0DReconModule.hxx.

TClonesArray* ND::TP0DReconModule::fClusters

The TP0DCluster vector of clusters.

Definition at line 1225 of file TP0DReconModule.hxx.

Int_t ND::TAnalysisModuleBase::fEventID
protectedinherited

Definition at line 198 of file TAnalysisModuleBase.hxx.

Bool_t ND::TAnalysisModuleBase::fFilledConfigTree
protectedinherited
TClonesArray* ND::TP0DReconModule::fHits

The TP0DHit vector of hits.

Definition at line 1224 of file TP0DReconModule.hxx.

std::string ND::TAnalysisModuleBase::fInputDirectory
protectedinherited

An input directory where analysis modules can search for extra files.

Definition at line 201 of file TAnalysisModuleBase.hxx.

Referenced by ND::TAnalysisModuleBase::SetInputDirectory().

Bool_t ND::TAnalysisModuleBase::fIsUsedForPreselection
protectedinherited
Short_t ND::TP0DReconModule::fNAlgoResults

The number of Algorithm Results.

Definition at line 1208 of file TP0DReconModule.hxx.

std::string ND::TAnalysisModuleBase::fName
protectedinherited

Definition at line 203 of file TAnalysisModuleBase.hxx.

Short_t ND::TP0DReconModule::fNClusters

The number of clusters.

Definition at line 1214 of file TP0DReconModule.hxx.

Short_t ND::TP0DReconModule::fNHits

The number of hits that are saved.

Definition at line 1215 of file TP0DReconModule.hxx.

Short_t ND::TP0DReconModule::fNNodes

The number of track nodes.

Definition at line 1213 of file TP0DReconModule.hxx.

TClonesArray* ND::TP0DReconModule::fNodes

The TP0DNode vector of nodes.

Definition at line 1223 of file TP0DReconModule.hxx.

Short_t ND::TP0DReconModule::fNParticles

The number of particles.

Definition at line 1210 of file TP0DReconModule.hxx.

Short_t ND::TP0DReconModule::fNShowers

The number of showers.

Definition at line 1211 of file TP0DReconModule.hxx.

Short_t ND::TP0DReconModule::fNTracks

The number of tracks.

Definition at line 1212 of file TP0DReconModule.hxx.

Short_t ND::TP0DReconModule::fNVertices

The number of added vertices.

Definition at line 1209 of file TP0DReconModule.hxx.

TClonesArray* ND::TP0DReconModule::fParticles

The TP0DParticle vector of particles.

Definition at line 1220 of file TP0DReconModule.hxx.

Int_t ND::TAnalysisModuleBase::fPreselected
protectedinherited

Definition at line 199 of file TAnalysisModuleBase.hxx.

std::vector<TPRegexp> ND::TP0DReconModule::fRejectAlgoResultList
private

If an incoming TAlgorithmResult's name matches a pattern within this vector it will not be summarised and stored.

Definition at line 1230 of file TP0DReconModule.hxx.

Int_t ND::TAnalysisModuleBase::fRunID
protectedinherited

Definition at line 196 of file TAnalysisModuleBase.hxx.

TClonesArray* ND::TP0DReconModule::fShowers

The TP0DShower vector of showers.

Definition at line 1221 of file TP0DReconModule.hxx.

Int_t ND::TAnalysisModuleBase::fSubrunID
protectedinherited

Definition at line 197 of file TAnalysisModuleBase.hxx.

std::map<UInt_t, short> ND::TP0DReconModule::fTempHitMap
private

Scratch space to keep track of already summarised THits.

Definition at line 1233 of file TP0DReconModule.hxx.

std::string ND::TAnalysisModuleBase::fTitle
protectedinherited

Definition at line 204 of file TAnalysisModuleBase.hxx.

TClonesArray* ND::TP0DReconModule::fTracks

The TP0DTrack vector of tracks.

Definition at line 1222 of file TP0DReconModule.hxx.

TClonesArray* ND::TP0DReconModule::fVertices

The TP0DVertex vector of vertices.

Definition at line 1219 of file TP0DReconModule.hxx.


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

Package Summary
Package Name: eventAnalysis
Package Version: 7.0-49-g0ac7482
Package Manager:

Generated on Mon Mar 25 2024 14:44:02 for eventAnalysis by doxygen 1.8.5