HYDRA_development_version
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
HParticleTree Class Reference

#include <hparticletree.h>

Inheritance diagram for HParticleTree:
Collaboration diagram for HParticleTree:

Public Member Functions

 HParticleTree (const Text_t *name="", const Text_t *title="")
 
virtual ~HParticleTree ()
 
Bool_t init ()
 
Int_t execute ()
 
Bool_t finalize ()
 
void setSkipEmptyEvents (Bool_t skip)
 
void setSkipTracks (Bool_t skip)
 
void setOutputFile (TString fname="filter_tree.root", TString ftitle="Filter", TString fopt="RECREATE", Int_t fcomp=2)
 
void setOutputFileSuffix (TString suff="filter_tree")
 
void setOutputDir (TString dir="")
 
void setEventStructure (Int_t n, Cat_t PersistentCat[], Bool_t fullCopy=kFALSE)
 
void setSortType (Particle::ESwitch type)
 
void setDoSorter (Bool_t sort)
 
sorter_setupgetSorterSetup ()
 
void setIgnoreRICH (Bool_t ignore=kTRUE)
 
void setIgnoreInnerMDC (Bool_t ignore=kTRUE)
 
void setIgnoreOuterMDC (Bool_t ignore=kTRUE)
 
void setIgnoreMETA (Bool_t ignore=kTRUE)
 
void setIgnorePreviousIndex (Bool_t ignore=kTRUE)
 
void setRICHMatching (Particle::ERichMatch match, Float_t window=4.)
 
void setUserSelectionEvent (Bool_t(*function)(TObjArray *), TObjArray *ar)
 
void setUserSelectionLeptons (Bool_t(*function)(HParticleCand *))
 
void setUserSelectionHadrons (Bool_t(*function)(HParticleCand *))
 
void setUserkeepTrack (Bool_t(*function)(HParticleCand *))
 
- Public Member Functions inherited from HReconstructor
 HReconstructor (void)
 
 ~HReconstructor (void)
 
 HReconstructor (const Text_t *name, const Text_t *title)
 
HTasknext (Int_t &errCode)
 
HTaskgetTask (const Char_t *name)
 
Bool_t connectTask (HTask *task, Int_t n=0)
 
TObjArray getTable ()
 
void getConnections ()
 
HTaskgetComposite ()
 
void setActive (Bool_t state)
 
Bool_t IsFolder (void) const
 
void Browse (TBrowser *b)
 
void isTimed (Bool_t flag=kTRUE)
 
void resetTimer (void)
 
void printTimer (void)
 
- Public Member Functions inherited from HTask
 HTask (void)
 
 HTask (const Text_t name[], const Text_t title[])
 
virtual ~HTask (void)
 
virtual Bool_t reinit (void)
 
virtual HTaskgetOwner ()
 
virtual void setOwner (HTask *atask)
 
virtual Bool_t setConnections ()
 
void setManual ()
 

Private Member Functions

Bool_t makeTree (void)
 object array for optional parameters of event selection function More...
 
void recreateOutput (void)
 
void closeOutput (void)
 
void setEvent (void)
 
void extractMdcSeg (HParticleCand *cand, Bool_t isSim, Int_t segInd1, Int_t &segInd2)
 
void extractMdcCal1 (Bool_t isSim, Int_t segInd)
 
void extractMdcCal1FromClus (Bool_t isSim, Int_t segInd)
 
Bool_t doFullCopy (Cat_t cat)
 

Private Attributes

HRecEventfCurrentEvent
 
TFile * fOutputFile
 Event under reconstruction. More...
 
HTreefTree
 File used to store the output tree. More...
 
Int_t fCycleNumber
 Output tree. More...
 
TString fOutputFileName
 cycle number of output file More...
 
TString fOutputTitle
 output file name (derived from hades output name) More...
 
TString fOutputOption
 output file title More...
 
Int_t fOutputCompression
 output file option More...
 
TString fOutputFileSuffix
 output file compression More...
 
TString fOutputDir
 replace .root by fOutputFileSuffix.root More...
 
Bool_t fOutFound
 outputdir More...
 
Bool_t kSkipEmptyEvents
 
Bool_t kSkipTracks
 kTRUE = skip not selected events (default = kFALSE) More...
 
Bool_t kDoSorter
 kTRUE = skip not selected tracks (default = kTRUE) More...
 
Particle::ESwitch sortType
 kTRUE run new tracksorter (default = kTRUE) More...
 
HParticleTrackSorter sorter
 
HSrcKeeperkeeper
 
HGeantMediamedia
 
HMdcLayermdclayer
 
vector< Int_t > fCatNums
 
map< TString, Int_t > fmCatNameToNum
 list of persistent output categories More...
 
map< Int_t, TString > fmCatNumToName
 
map< Int_t, HCategory * > fmCatNumToPointer
 
map< TString, HCategory * > fmCatNameToPointer
 
map< Int_t, Int_t > fmCatNumToFullCopy
 
vector< Int_t > fmCatNumSupport
 
vector< Int_t > fmCatNumFullCopySupport
 
Bool_t(* pUserSelectEvent )(TObjArray *)
 
Bool_t(* pUserSelectLeptons )(HParticleCand *)
 user provided function pointer event selection (TObjArray for parameters) More...
 
Bool_t(* pUserSelectHadrons )(HParticleCand *)
 user provided function pointer to lepton selection More...
 
Bool_t(* pUserKeepTrack )(HParticleCand *)
 user provided function pointer to hadron selection More...
 
TObjArray * fParamSelectEvent
 user provided function pointer to keep/discard tracks independent of sorterflags More...
 
Int_t ctMdcSeg [6][2]
 
Int_t ctMdcClus [6][2]
 
Int_t ctMdcHit [6][4]
 
Int_t ctRpcClus [6]
 

Additional Inherited Members

- Protected Attributes inherited from HReconstructor
TList * fHistograms
 
Bool_t fActive
 
TObjArray fOutputs
 
TStopwatch fTimer
 
- Protected Attributes inherited from HTask
HTaskowner
 
Bool_t manual
 
Bool_t isInitialised
 
Bool_t isConnected
 
Bool_t fIsTimed
 

Detailed Description

Definition at line 24 of file hparticletree.h.

Constructor & Destructor Documentation

HParticleTree::HParticleTree ( const Text_t *  name = "",
const Text_t *  title = "" 
)
HParticleTree::~HParticleTree ( )
virtual

Definition at line 458 of file hparticletree.cc.

Member Function Documentation

void HParticleTree::closeOutput ( void  )
private

!!!

Definition at line 2157 of file hparticletree.cc.

References Hades::getWriteEvent(), gHades, and Hades::setWriteEvent().

Bool_t HParticleTree::doFullCopy ( Cat_t  cat)
private

Definition at line 2548 of file hparticletree.cc.

Int_t HParticleTree::execute ( void  )
virtual

Implements HReconstructor.

Definition at line 472 of file hparticletree.cc.

References catEmcCal, catEmcCluster, catEmcGeantRaw, catGeantKine, catMdcGeantRaw, catMdcSeg, catParticleCand, catParticleEvtInfo, catParticleMdc, catPionTrackerCal, catPionTrackerHit, catPionTrackerTrack, catRichCal, catRichDirClus, catRichGeantRaw, catRichHit, catRpcCluster, catRpcGeantRaw, catShowerGeantRaw, catShowerHit, catStart2Cal, catStart2Hit, catStartGeantRaw, catTBoxChan, catTofCluster, catTofGeantRaw, catTofHit, catWallEventPlane, catWallGeantRaw, catWallHit, fname, HCategoryManager::getCategory(), HTofHit::getCell(), HWallHit::getCell(), HEmcCal::getCell(), HEmcCluster::getCell(), HRichCal::getCol(), Hades::getCurrentEvent(), Hades::getDataSource(), Hades::getGeantMedia(), HEvent::getHeader(), HParticleCand::getIndex(), HParticleCand::getInnerSegInd(), HGeantMdc::getLayer(), HTofHit::getModule(), HGeantMdc::getModule(), HStart2Cal::getModule(), HCategoryManager::getObject(), Hades::getObjectsAddedToOutput(), HParticleCand::getOuterSegInd(), Hades::getOutputFile(), Hades::getOutputSizeLimit(), HParticleCand::getRichInd(), HRichCal::getRow(), HParticleCand::getRpcInd(), HTofHit::getSector(), HGeantEmc::getSector(), HGeantShower::getSector(), HGeantTof::getSector(), HGeantRichPhoton::getSector(), HGeantMdc::getSector(), HRichCal::getSector(), HEmcCal::getSector(), HEmcCluster::getSector(), HRpcCluster::getSector(), HGeantRpc::getSector(), HGeantRichDirect::getSector(), HGeantRichMirror::getSector(), HParticleCand::getShowerInd(), Hades::getSrcKeeper(), HStart2Cal::getStrip(), HParticleCand::getTofClstInd(), HParticleCand::getTofHitInd(), gHades, HParticleCand::isFlagBit(), Particle::kIsHadronSorter, Particle::kIsLeptonSorter, Particle::kIsUsed, makeTree, n, HCategoryManager::newObjectCopy(), HParticleTrackSorter::selectHadrons(), HParticleTrackSorter::selectLeptons(), HRpcCluster::setAddress(), HParticleMdc::setIndex(), HParticleCand::setIndex(), HParticleCand::setInnerSegInd(), HParticleCand::setOuterSegInd(), HParticleCand::setRichInd(), HParticleCand::setRpcInd(), HParticleCand::setShowerInd(), HParticleCand::setTofClstInd(), and HParticleCand::setTofHitInd().

void HParticleTree::extractMdcCal1 ( Bool_t  isSim,
Int_t  segInd 
)
private
void HParticleTree::extractMdcCal1FromClus ( Bool_t  isSim,
Int_t  segInd 
)
private
Bool_t HParticleTree::finalize ( void  )
virtual

Implements HTask.

Definition at line 1940 of file hparticletree.cc.

sorter_setup& HParticleTree::getSorterSetup ( )
inline

Definition at line 107 of file hparticletree.h.

References HParticleTrackSorter::getSetup().

Bool_t HParticleTree::init ( void  )
virtual

Implements HTask.

Definition at line 465 of file hparticletree.cc.

Bool_t HParticleTree::makeTree ( void  )
private

object array for optional parameters of event selection function

Definition at line 2122 of file hparticletree.cc.

References Hades::getSplitLevel(), Hades::getTreeBufferSize(), and gHades.

void HParticleTree::recreateOutput ( void  )
private

Definition at line 2194 of file hparticletree.cc.

References fname, and makeTree.

void HParticleTree::setDoSorter ( Bool_t  sort)
inline

Definition at line 104 of file hparticletree.h.

void HParticleTree::setEvent ( void  )
private
void HParticleTree::setEventStructure ( Int_t  n,
Cat_t  PersistentCat[],
Bool_t  fullCopy = kFALSE 
)

Definition at line 1946 of file hparticletree.cc.

References n.

Referenced by addFilter().

void HParticleTree::setIgnoreInnerMDC ( Bool_t  ignore = kTRUE)
inline
void HParticleTree::setIgnoreMETA ( Bool_t  ignore = kTRUE)
inline

Definition at line 112 of file hparticletree.h.

References HParticleTrackSorter::getSetup(), and sorter_setup::kIgnoreMETA.

void HParticleTree::setIgnoreOuterMDC ( Bool_t  ignore = kTRUE)
inline
void HParticleTree::setIgnorePreviousIndex ( Bool_t  ignore = kTRUE)
inline
void HParticleTree::setIgnoreRICH ( Bool_t  ignore = kTRUE)
inline

Definition at line 109 of file hparticletree.h.

References HParticleTrackSorter::getSetup(), and sorter_setup::kIgnoreRICH.

void HParticleTree::setOutputDir ( TString  dir = "")
inline

Definition at line 100 of file hparticletree.h.

void HParticleTree::setOutputFile ( TString  fname = "filter_tree.root",
TString  ftitle = "Filter",
TString  fopt = "RECREATE",
Int_t  fcomp = 2 
)

Definition at line 2109 of file hparticletree.cc.

References fname.

Referenced by addFilter().

void HParticleTree::setOutputFileSuffix ( TString  suff = "filter_tree")
inline

Definition at line 99 of file hparticletree.h.

void HParticleTree::setRICHMatching ( Particle::ERichMatch  match,
Float_t  window = 4. 
)
inline
void HParticleTree::setSkipEmptyEvents ( Bool_t  skip)
inline

Definition at line 91 of file hparticletree.h.

Referenced by addFilter().

void HParticleTree::setSkipTracks ( Bool_t  skip)
inline

Definition at line 92 of file hparticletree.h.

void HParticleTree::setSortType ( Particle::ESwitch  type)
inline

Definition at line 103 of file hparticletree.h.

void HParticleTree::setUserkeepTrack ( Bool_t(*)(HParticleCand *)  function)
inline

Definition at line 124 of file hparticletree.h.

void HParticleTree::setUserSelectionEvent ( Bool_t(*)(TObjArray *)  function,
TObjArray *  ar 
)
inline

Definition at line 120 of file hparticletree.h.

Referenced by addFilter().

void HParticleTree::setUserSelectionHadrons ( Bool_t(*)(HParticleCand *)  function)
inline

Definition at line 122 of file hparticletree.h.

Referenced by addFilter().

void HParticleTree::setUserSelectionLeptons ( Bool_t(*)(HParticleCand *)  function)
inline

Definition at line 121 of file hparticletree.h.

Referenced by addFilter().

Member Data Documentation

Int_t HParticleTree::ctMdcClus[6][2]
private

Definition at line 77 of file hparticletree.h.

Int_t HParticleTree::ctMdcHit[6][4]
private

Definition at line 78 of file hparticletree.h.

Int_t HParticleTree::ctMdcSeg[6][2]
private

Definition at line 76 of file hparticletree.h.

Int_t HParticleTree::ctRpcClus[6]
private

Definition at line 79 of file hparticletree.h.

vector<Int_t> HParticleTree::fCatNums
private

Definition at line 52 of file hparticletree.h.

HRecEvent* HParticleTree::fCurrentEvent
private

Definition at line 28 of file hparticletree.h.

Int_t HParticleTree::fCycleNumber
private

Output tree.

Definition at line 31 of file hparticletree.h.

map<TString,Int_t> HParticleTree::fmCatNameToNum
private

list of persistent output categories

Definition at line 53 of file hparticletree.h.

map<TString,HCategory*> HParticleTree::fmCatNameToPointer
private

Definition at line 56 of file hparticletree.h.

vector<Int_t> HParticleTree::fmCatNumFullCopySupport
private

Definition at line 59 of file hparticletree.h.

vector<Int_t> HParticleTree::fmCatNumSupport
private

Definition at line 58 of file hparticletree.h.

map<Int_t,Int_t> HParticleTree::fmCatNumToFullCopy
private

Definition at line 57 of file hparticletree.h.

map<Int_t,TString> HParticleTree::fmCatNumToName
private

Definition at line 54 of file hparticletree.h.

map<Int_t,HCategory*> HParticleTree::fmCatNumToPointer
private

Definition at line 55 of file hparticletree.h.

Bool_t HParticleTree::fOutFound
private

outputdir

Definition at line 38 of file hparticletree.h.

Int_t HParticleTree::fOutputCompression
private

output file option

Definition at line 35 of file hparticletree.h.

TString HParticleTree::fOutputDir
private

replace .root by fOutputFileSuffix.root

Definition at line 37 of file hparticletree.h.

TFile* HParticleTree::fOutputFile
private

Event under reconstruction.

Definition at line 29 of file hparticletree.h.

TString HParticleTree::fOutputFileName
private

cycle number of output file

Definition at line 32 of file hparticletree.h.

TString HParticleTree::fOutputFileSuffix
private

output file compression

Definition at line 36 of file hparticletree.h.

TString HParticleTree::fOutputOption
private

output file title

Definition at line 34 of file hparticletree.h.

TString HParticleTree::fOutputTitle
private

output file name (derived from hades output name)

Definition at line 33 of file hparticletree.h.

TObjArray* HParticleTree::fParamSelectEvent
private

user provided function pointer to keep/discard tracks independent of sorterflags

Definition at line 66 of file hparticletree.h.

HTree* HParticleTree::fTree
private

File used to store the output tree.

Definition at line 30 of file hparticletree.h.

Bool_t HParticleTree::kDoSorter
private

kTRUE = skip not selected tracks (default = kTRUE)

Definition at line 42 of file hparticletree.h.

HSrcKeeper* HParticleTree::keeper
private

Definition at line 48 of file hparticletree.h.

Bool_t HParticleTree::kSkipEmptyEvents
private

Definition at line 40 of file hparticletree.h.

Bool_t HParticleTree::kSkipTracks
private

kTRUE = skip not selected events (default = kFALSE)

Definition at line 41 of file hparticletree.h.

HMdcLayer* HParticleTree::mdclayer
private

Definition at line 50 of file hparticletree.h.

HGeantMedia* HParticleTree::media
private

Definition at line 49 of file hparticletree.h.

Bool_t(* HParticleTree::pUserKeepTrack)(HParticleCand *)
private

user provided function pointer to hadron selection

Definition at line 64 of file hparticletree.h.

Bool_t(* HParticleTree::pUserSelectEvent)(TObjArray *)
private

Definition at line 61 of file hparticletree.h.

Bool_t(* HParticleTree::pUserSelectHadrons)(HParticleCand *)
private

user provided function pointer to lepton selection

Definition at line 63 of file hparticletree.h.

Bool_t(* HParticleTree::pUserSelectLeptons)(HParticleCand *)
private

user provided function pointer event selection (TObjArray for parameters)

Definition at line 62 of file hparticletree.h.

HParticleTrackSorter HParticleTree::sorter
private

Definition at line 46 of file hparticletree.h.

Particle::ESwitch HParticleTree::sortType
private

kTRUE run new tracksorter (default = kTRUE)

Definition at line 44 of file hparticletree.h.


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