Belle II Software  release-06-02-00
ARICHBackgroundModule.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #ifndef ARICHBACKGROUND_H
10 #define ARICHBACKGROUND_H
11 
12 #include <framework/core/Module.h>
13 
14 #include <arich/dbobjects/ARICHGeometryConfig.h>
15 #include <framework/database/DBObjPtr.h>
16 
17 #include <string>
18 
19 #include <TFile.h>
20 #include <TTree.h>
21 
22 namespace Belle2 {
27  namespace arich {
28 
30 
34  class ARICHBackgroundModule : public Module {
35 
36  public:
37 
38 
41 
43  virtual ~ARICHBackgroundModule();
44 
50  virtual void initialize();
51 
57  virtual void beginRun();
58 
64  virtual void event();
65 
71  virtual void endRun();
72 
78  virtual void terminate();
79 
83  void printModuleParams() const;
84 
85  private:
86 
87  std::string m_filename;
88  int m_bkgTag;
90  TVector3 phpos;
91  TVector3 phmom;
92  TVector3 phVtx;
93  TVector3 phMmom;
94  TVector3 phMvtx;
95  TVector3 phPvtx;
96  TVector3 phPmom;
97  TVector3 phGMvtx;
98  TVector3 phGMmom;
99  TVector3 modOrig;
100  int source;
101  int phPDG;
102  int phMPDG;
103  int phPPDG;
104  int phGMPDG;
105  int type;
106  double edep;
107  double ttime;
108  int moduleID;
109  double phnw;
110  double trlen;
111  double en;
112  TFile* ff;
113  TTree* TrHits;
116  };
117 
118  } // arich namespace
120 } // Belle2 namespace
121 
122 #endif // ARICHDIGIMODULE_H
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
Base class for Modules.
Definition: Module.h:72
virtual void event()
Event processor.
int phPPDG
hit particle primary PDG code
TVector3 phGMvtx
hit particle grand mother vertex
TVector3 phPmom
primary particle momentum
TVector3 phVtx
hit particle vertex position
double trlen
particle track lenght in hit volume
virtual void initialize()
Initialize the Module.
virtual void beginRun()
Called when entering a new run.
DBObjPtr< ARICHGeometryConfig > m_arichgp
Geometry parametrization.
int phMPDG
hit particle mother PDG code
TVector3 modOrig
HAPD module position.
virtual void terminate()
Termination action.
virtual void endRun()
End-of-run action.
TVector3 phGMmom
hit particle grand mother momentum
int phGMPDG
hit particle grand mother PDG code
TVector3 phPvtx
primary particle vertex
void printModuleParams() const
Prints module parameters.
std::string m_filename
Output file name.
TVector3 phMmom
hit particle mother momentum
int type
hit particle type; 0 hit in board, 1 hit in HAPD bottom, 2 photon hit
TVector3 phMvtx
hit particle mother vertex
Abstract base class for different kinds of events.