EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SamplingFractionReco.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file SamplingFractionReco.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef SAMPLINGFRACTIONRECO_H
4 #define SAMPLINGFRACTIONRECO_H
5 
6 #include <fun4all/SubsysReco.h>
7 
8 #include <string>
9 
10 class PHCompositeNode;
11 class TFile;
12 class TNtuple;
13 
15 {
16  public:
17  SamplingFractionReco(const std::string &name = "SamplingFractionReco", const std::string &filename = "output.root");
18 
19  virtual ~SamplingFractionReco();
20 
26  int Init(PHCompositeNode *topNode) override;
27 
33  int InitRun(PHCompositeNode *topNode) override;
34 
38  int process_event(PHCompositeNode *topNode) override;
39 
41  int ResetEvent(PHCompositeNode *topNode) override;
42 
44  int EndRun(const int runnumber) override;
45 
47  int End(PHCompositeNode *topNode) override;
48 
50  int Reset(PHCompositeNode * /*topNode*/) override;
51 
52  void Print(const std::string &what = "ALL") const override;
53 
54  void Detector(const std::string &name);
55 
56  void add_support_eloss(const int i = 1) { m_SupportFlag = i; }
57 
58  private:
59  TNtuple *ntup = nullptr;
60  TFile *outfile = nullptr;
61 
62  int m_SupportFlag = 0;
63 
64  std::string outfilename;
65  std::string m_Detector;
66 
67  std::string m_HitNodeName;
68  std::string m_AbsorberNodeName;
69  std::string m_SupportNodeName;
70 };
71 
72 #endif // SAMPLINGFRACTIONRECO_H