FairRoot/PandaRoot
Public Member Functions | Private Member Functions | Private Attributes | List of all members
PndMvdEventMergerTask Class Reference

#include <PndMvdEventMergerTask.h>

Inheritance diagram for PndMvdEventMergerTask:

Public Member Functions

 PndMvdEventMergerTask ()
 
 PndMvdEventMergerTask (TString signalBranch, TString bgFile, TString bgBranch, Int_t events, Int_t mergedEvents, Bool_t signalIsBg)
 
virtual ~PndMvdEventMergerTask ()
 
virtual void SetParContainers ()
 
virtual InitStatus Init ()
 
virtual InitStatus ReInit ()
 
virtual void Exec (Option_t *opt)
 

Private Member Functions

void Register ()
 
void Reset ()
 
void ProduceHits ()
 
 ClassDef (PndMvdEventMergerTask, 7)
 

Private Attributes

TString fSignalBranch
 
TString fBgBranch
 
TString fBgFile
 
Int_t fNEvents
 
Int_t fNMergedEvents
 
Int_t fEventNr
 
Bool_t fSignalIsBg
 
TClonesArray * fSignalArray
 
TClonesArray * fMergedArray
 
PndMvdEventMergerfMerger
 

Detailed Description

Definition at line 17 of file PndMvdEventMergerTask.h.

Constructor & Destructor Documentation

PndMvdEventMergerTask::PndMvdEventMergerTask ( )

Default constructor

Definition at line 14 of file PndMvdEventMergerTask.cxx.

References fEventNr.

14  :
15  FairTask("MVD Event Merger")
16 {
17  std::cout << "-E- PndMvdEventMergerTask: The default constructor should not be used!" << std::endl;
18  fEventNr = 0;
19 }
PndMvdEventMergerTask::PndMvdEventMergerTask ( TString  signalBranch,
TString  bgFile,
TString  bgBranch,
Int_t  events,
Int_t  mergedEvents,
Bool_t  signalIsBg 
)

Definition at line 21 of file PndMvdEventMergerTask.cxx.

References fBgBranch, fBgFile, fEventNr, fNEvents, fNMergedEvents, fSignalBranch, and fSignalIsBg.

21  :
22  FairTask("MVD Event Merger")
23 {
24  fSignalBranch = signalBranch;
25  fBgFile = bgFile;
26  fBgBranch = bgBranch;
27  fNMergedEvents = mergedEvents;
28  fSignalIsBg = signalIsBg;
29  fEventNr = 0;
30  fNEvents = events;
31 }
PndMvdEventMergerTask::~PndMvdEventMergerTask ( )
virtual

Destructor

Definition at line 36 of file PndMvdEventMergerTask.cxx.

References fMerger.

37 {
38  delete (fMerger);
39 }
PndMvdEventMerger * fMerger

Member Function Documentation

PndMvdEventMergerTask::ClassDef ( PndMvdEventMergerTask  ,
 
)
private
void PndMvdEventMergerTask::Exec ( Option_t *  opt)
virtual

Virtual method Exec

Definition at line 96 of file PndMvdEventMergerTask.cxx.

References PndMvdEventMerger::AddTClonesArray(), fEventNr, fMergedArray, fMerger, fNMergedEvents, fSignalArray, fSignalIsBg, fVerbose, PndMvdEventMerger::GetEvent(), and i.

97 {
98 
99  TClonesArray* bg;
100  if (fEventNr < fNMergedEvents)
101  bg = fMerger->GetEvent(fEventNr);
102  else bg = fMerger->GetEvent(0);
103 
104  fMergedArray->Delete();
105 
106  if (fSignalIsBg == false){
108  }
109  for (int i = 0; i < bg->GetEntriesFast(); i++){
110  new ((*fMergedArray)[i])PndTpcCluster(*(PndTpcCluster*)bg->At(i));
111  }
112 
113  // Event summary
114 
115  if (fVerbose > 0){
116  std::cout << "-I- PndMvdEventMergerTask: Merged " << fMergedArray->GetEntriesFast() << " events in Event Nr: " << fEventNr << std::endl;
117  }
118  fEventNr++;
119 }
int fVerbose
Definition: poormantracks.C:24
Int_t i
Definition: run_full.C:25
TClonesArray * GetEvent(Int_t iEvent)
PndMvdEventMerger * fMerger
Int_t AddTClonesArray(TClonesArray *target, TClonesArray *source)
InitStatus PndMvdEventMergerTask::Init ( )
virtual

Definition at line 58 of file PndMvdEventMergerTask.cxx.

References fBgBranch, fBgFile, fMergedArray, fMerger, fNEvents, fNMergedEvents, fSignalArray, fSignalBranch, and fSignalIsBg.

59 {
60  //FairRun* ana = FairRun::Instance();
61  FairRootManager* ioman = FairRootManager::Instance();
62 
63  if ( ! ioman )
64  {
65  std::cout << "-E- PndMvdEventMergerTask::Init: "
66  << "RootManager not instantiated!" << std::endl;
67  return kFATAL;
68  }
69 
70  if (fSignalIsBg == false){
71  fSignalArray = (TClonesArray*) ioman->GetObject(fSignalBranch);
72 
73  if ( ! fSignalArray )
74  {
75  std::cout << "-W- PndMvdEventMergerTask::Init: "
76  << "No MVDPoint array!" << std::endl;
77  return kERROR;
78  }
79  }
80 
81 
82  // Create and register output array
83  fMergedArray = new TClonesArray("PndTpcCluster");
84  ioman->Register("PndTpcClusterMerged", "TPC", fMergedArray, kTRUE);
85 
87 
88 
89  std::cout << "-I- PndMvdEventMergerTask: Intialisation successfull" << std::endl;
90 
91  return kSUCCESS;
92 }
PndMvdEventMerger * fMerger
void PndMvdEventMergerTask::ProduceHits ( )
private
void PndMvdEventMergerTask::Register ( )
private
InitStatus PndMvdEventMergerTask::ReInit ( )
virtual

Definition at line 51 of file PndMvdEventMergerTask.cxx.

References SetParContainers().

52 {
54  return kSUCCESS;
55 }
void PndMvdEventMergerTask::Reset ( )
private
void PndMvdEventMergerTask::SetParContainers ( )
virtual

Virtual method Init

Definition at line 43 of file PndMvdEventMergerTask.cxx.

Referenced by ReInit().

44 {
45  // called before Init()
46  // Get Base Container
47  //FairRun* ana = FairRun::Instance();
48  //FairRuntimeDb* rtdb=ana->GetRuntimeDb();
49 }

Member Data Documentation

TString PndMvdEventMergerTask::fBgBranch
private

Definition at line 42 of file PndMvdEventMergerTask.h.

Referenced by Init(), and PndMvdEventMergerTask().

TString PndMvdEventMergerTask::fBgFile
private

Definition at line 43 of file PndMvdEventMergerTask.h.

Referenced by Init(), and PndMvdEventMergerTask().

Int_t PndMvdEventMergerTask::fEventNr
private

Definition at line 46 of file PndMvdEventMergerTask.h.

Referenced by Exec(), and PndMvdEventMergerTask().

TClonesArray* PndMvdEventMergerTask::fMergedArray
private

Output array of merged hits

Definition at line 52 of file PndMvdEventMergerTask.h.

Referenced by Exec(), and Init().

PndMvdEventMerger* PndMvdEventMergerTask::fMerger
private

Definition at line 54 of file PndMvdEventMergerTask.h.

Referenced by Exec(), Init(), and ~PndMvdEventMergerTask().

Int_t PndMvdEventMergerTask::fNEvents
private

Definition at line 44 of file PndMvdEventMergerTask.h.

Referenced by Init(), and PndMvdEventMergerTask().

Int_t PndMvdEventMergerTask::fNMergedEvents
private

Definition at line 45 of file PndMvdEventMergerTask.h.

Referenced by Exec(), Init(), and PndMvdEventMergerTask().

TClonesArray* PndMvdEventMergerTask::fSignalArray
private

Input array of Hits to merge

Definition at line 49 of file PndMvdEventMergerTask.h.

Referenced by Exec(), and Init().

TString PndMvdEventMergerTask::fSignalBranch
private

Definition at line 41 of file PndMvdEventMergerTask.h.

Referenced by Init(), and PndMvdEventMergerTask().

Bool_t PndMvdEventMergerTask::fSignalIsBg
private

Definition at line 47 of file PndMvdEventMergerTask.h.

Referenced by Exec(), Init(), and PndMvdEventMergerTask().


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