PandaRoot
BSEmcPlotTask.h
Go to the documentation of this file.
1 #ifndef BSEMCPLOTTASK_HH
2 #define BSEMCPLOTTASK_HH
3 
4 #include <stdexcept>
5 #include <string>
6 #include <vector>
7 
8 #include "FairLogger.h"
9 
10 #include "PndConstContainer.h"
11 #include "PndContainerI.h"
12 #include "PndProcess.h"
13 #include "PndProcessTask.h"
14 
15 #include "BSEmcCluster.h"
16 #include "BSEmcDigi.h"
17 #include "BSEmcMCDeposit.h"
18 #include "BSEmcMCPoint.h"
19 #include "BSEmcMultiWaveform.h"
20 #include "BSEmcPrecluster.h"
21 #include "BSEmcRecoHit.h"
22 #include "BSEmcSubCluster.h"
23 #include "PndMCTrack.h"
24 
25 #include "BSEmcPlotProcess.h"
26 
35 class BSEmcPlotTask : public PndProcessTask {
36  public:
37  // Constructors
38  BSEmcPlotTask(const std::string &t_detectorname, BSEmcHistogrammer *t_histogrammer);
39  // Destructor
40  virtual ~BSEmcPlotTask();
41 
42  void SetMCPointBranchName(const std::string &t_branchname) { fMCPointBranchname = t_branchname; }
43  void SetMCDepositBranchName(const std::string &t_branchname) { fMCDepositBranchname = t_branchname; }
44  void SetWaveformBranchName(const std::string &t_branchname) { fWaveformBranchname = t_branchname; }
45  void SetDigiBranchName(const std::string &t_branchname) { fDigiBranchname = t_branchname; }
46  void SetPreclusterBranchName(const std::string &t_branchname) { fPreclusterBranchname = t_branchname; }
47  void SetClusterBranchName(const std::string &t_branchname) { fClusterBranchname = t_branchname; }
48  void SetSubClusterBranchName(const std::string &t_branchname) { fSubClusterBranchname = t_branchname; }
49  void SetRecoHitBranchName(const std::string &t_branchname) { fRecoHitBranchname = t_branchname; }
50 
51  protected:
52  virtual void SetupDataArrays() /*override*/;
53  virtual void PreProcessing(Option_t * /*unused*/) /*override*/;
54  virtual void PostProcessing(Option_t * /*unused*/) /*override*/;
55  virtual void ExecuteTasks(Option_t *t_option) /*override*/;
56 
57  virtual void SetupProcess(PndProcess *t_process) /*override*/;
58 
59  private:
60  BSEmcHistogrammer *fHistogrammer{nullptr};
61 
62  std::string fMCPointBranchname{""};
63  std::string fMCDepositBranchname{""};
64  std::string fWaveformBranchname{""};
65  std::string fDigiBranchname{""};
66  std::string fPreclusterBranchname{""};
67  std::string fClusterBranchname{""};
68  std::string fSubClusterBranchname{""};
69  std::string fRecoHitBranchname{""};
70 
71  ClassDef(BSEmcPlotTask, 1)
72 };
73 
74 #endif /*BSEMCPLOTTASK_HH*/
Base Process class.
Definition: PndProcess.h:24
Task based version of a PndProcessHandler.
void SetDigiBranchName(const std::string &t_branchname)
Definition: BSEmcPlotTask.h:45
void SetPreclusterBranchName(const std::string &t_branchname)
Definition: BSEmcPlotTask.h:46
virtual void SetupDataArrays()
Define which data containers need to be fetched from the FairRootManager, pass the data container add...
void SetRecoHitBranchName(const std::string &t_branchname)
Definition: BSEmcPlotTask.h:49
void SetClusterBranchName(const std::string &t_branchname)
Definition: BSEmcPlotTask.h:47
virtual void SetupProcess(PndProcess *t_process)
Task to handle PlotProcesses.
Definition: BSEmcPlotTask.h:35
void SetMCDepositBranchName(const std::string &t_branchname)
Definition: BSEmcPlotTask.h:43
Simple wrapper around std::map<TString (histname), TH1*> to help with histogram creation and writting...
void SetMCPointBranchName(const std::string &t_branchname)
Definition: BSEmcPlotTask.h:42
void SetSubClusterBranchName(const std::string &t_branchname)
Definition: BSEmcPlotTask.h:48
virtual void PreProcessing(Option_t *)
Do some task preparation before PndProcesses are run once per event.
Interface to a datacontainer to be used in PandaROOT.
virtual void PostProcessing(Option_t *)
Do some task post clean up after PndProcesses are run once per event.
Container to wrap PndTCA/STDConstContainer (not needed anymore)
void SetWaveformBranchName(const std::string &t_branchname)
Definition: BSEmcPlotTask.h:44
BSEmcPlotTask(const std::string &t_detectorname, BSEmcHistogrammer *t_histogrammer)
virtual void ExecuteTasks(Option_t *t_option)
virtual ~BSEmcPlotTask()