Belle II Software development
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#pragma once
9
10#include <framework/core/Module.h>
11#include <framework/datastore/StoreArray.h>
12#include <framework/database/DBObjPtr.h>
13
14#include <arich/dbobjects/ARICHGeometryConfig.h>
15
16#include <string>
17
18#include <Math/Vector3D.h>
19#include <TFile.h>
20#include <TTree.h>
21
22namespace Belle2 {
27 class MCParticle;
28 class ARICHSimHit;
29 class BeamBackHit;
30
31 namespace arich {
32
34
39
40 public:
41
42
45
47 virtual ~ARICHBackgroundModule();
48
54 virtual void initialize();
55
61 virtual void beginRun();
62
68 virtual void event();
69
75 virtual void terminate();
76
80 void printModuleParams() const;
81
82 private:
83
84 std::string m_filename;
87 ROOT::Math::XYZVector m_phpos;
88 ROOT::Math::XYZVector m_phmom;
89 ROOT::Math::XYZVector m_phVtx;
90 ROOT::Math::XYZVector m_phMmom;
91 ROOT::Math::XYZVector m_phMvtx;
92 ROOT::Math::XYZVector m_phPvtx;
93 ROOT::Math::XYZVector m_phPmom;
94 ROOT::Math::XYZVector m_phGMvtx;
95 ROOT::Math::XYZVector m_phGMmom;
96 ROOT::Math::XYZVector m_modOrig;
98 int m_phPDG;
102 int m_type;
103 double m_edep;
104 double m_ttime;
106 double m_phnw;
108 double m_energy;
117 };
118
119 } // arich namespace
121} // Belle2 namespace
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
Base class for Modules.
Definition: Module.h:72
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
virtual void event()
Event processor.
ROOT::Math::XYZVector m_phPvtx
primary particle vertex
StoreArray< BeamBackHit > m_BeamBackHits
StoreArray for BeamBackHits.
virtual void initialize()
Initialize the Module.
virtual void beginRun()
Called when entering a new run.
int m_source
hit source (RBB_HER, ...)
DBObjPtr< ARICHGeometryConfig > m_arichgp
Geometry parametrization.
int m_phMPDG
hit particle mother PDG code
ROOT::Math::XYZVector m_phVtx
hit particle vertex position
ROOT::Math::XYZVector m_phPmom
primary particle momentum
StoreArray< ARICHSimHit > m_ARICHSimHits
StoreArray for ARICHSimHits.
int m_phGMPDG
hit particle grand mother PDG code
ROOT::Math::XYZVector m_phmom
hit momentum
virtual void terminate()
Termination action.
ROOT::Math::XYZVector m_phGMvtx
hit particle grand mother vertex
ROOT::Math::XYZVector m_phpos
hit position
int m_type
hit particle type; 0 hit in board, 1 hit in HAPD bottom, 2 photon hit
int m_phPPDG
hit particle primary PDG code
double m_trackLength
particle track lenght in hit volume
void printModuleParams() const
Prints module parameters.
ROOT::Math::XYZVector m_modOrig
HAPD module position.
std::string m_filename
Output file name.
ROOT::Math::XYZVector m_phGMmom
hit particle grand mother momentum
StoreArray< MCParticle > m_MCParticles
StoreArray for MCParticles.
ROOT::Math::XYZVector m_phMvtx
hit particle mother vertex
ROOT::Math::XYZVector m_phMmom
hit particle mother momentum
Abstract base class for different kinds of events.