Belle II Software  release-08-01-10
MCMatcherTRGECLModule.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 MCMATCHERTRGECLMODULE_H_
10 #define MCMATCHERTRGECLMODULE_H_
11 
12 //basf2 framework headers
13 #include <framework/core/Module.h>
14 #include <framework/datastore/StoreArray.h>
15 #include "trg/ecl/TrgEclMapping.h"
16 #include "trg/ecl/dataobjects/TRGECLDigi0MC.h"
17 #include "trg/ecl/dataobjects/TRGECLHitMC.h"
18 
19 //C++/C standard lib elements.
20 #include <map>
21 
22 namespace Belle2 {
27  //namespace ECL {
28 
33  class MCMatcherTRGECLModule : public Module {
34 
35  public:
38 
40  virtual ~MCMatcherTRGECLModule();
41 
44 
47 
49  virtual void initialize() override;
50 
52  virtual void beginRun() override;
53 
58  virtual void event() override;
59 
61  virtual void endRun() override;
62 
64  virtual void terminate() override;
65 
67  typedef std::map< int, int> PrimaryTrackMap;
69  typedef std::multimap< int, int> MultiMap;
70 
71 
72  private:
79  double m_timeCPU = 0.;
81  int m_nRun = 0;
83  int m_nEvent = 0;
87  int TCId[100];
89  double TCRawEnergy[100];
91  double TCRawTiming[100];
93  double SignalContribution[100];
95  double BKGContribution[100];
97  double maxEnergy[100][3] ;
99  double contribution[100][3];
101  int TCPrimaryIndex[100][3] ;
103  int XtalId[100][3] ;
105  double px[100][3] ;
107  double py[100][3] ;
109  double pz[100][3] ;
111  int trackId[100][3];
113  int background_tag[100][3];
115  int pid[100][3];
117  int mother[100][3] ;
119  int gmother[100][3] ;
121  int ggmother[100][3] ;
123  int gggmother[100][3] ;
124 
126  double MCEnergy[100][3];
128  int ieclhit[100][3];
130  int TCIdHit[100];
132  double TCHitEnergy[100];
134  double TCHitTiming[100];
136  int TCPrimaryIndexHit[100][3] ;
138  int XtalIdHit[100][3] ;
140  double pxHit[100][3] ;
142  double pyHit[100][3] ;
144  double pzHit[100][3] ;
146  int trackIdHit[100][3];
148  int background_tagHit[100][3];
150  int pidHit[100][3];
152  int motherHit[100][3] ;
154  int gmotherHit[100][3] ;
156  int ggmotherHit[100][3] ;
158  int gggmotherHit[100][3] ;
160  double MCEnergyHit[100][3];
164  double BKGContributionHit[100];
166  double contributionHit[100][3];
167 
168 
169  };
170  //} //TRGECL
172 } // end of Belle2 namespace
173 
174 #endif // TRGECLDIGI_H
Class to represent the hit of one cell.
double pz[100][3]
Momentum Z of particle.
double BKGContribution[100]
Backgroun Contribution in a TC
int background_tag[100][3]
Beam background tag.
int gmotherHit[100][3]
Grand mother ID
double contributionHit[100][3]
particles contribution
std::multimap< int, int > MultiMap
define a multimap for hits in showers
virtual void initialize() override
Initialize variables, print info, and start CPU clock.
StoreArray< TRGECLDigi0MC > m_trgECLDigi0MC
output for TRGECLDigi0MC
double pxHit[100][3]
Momentum X of particle.
int ggmother[100][3]
Grand Grand Mother ID
double MCEnergy[100][3]
Raw Energy of particle
virtual void event() override
Actual digitization of all hits in the ECL.
MCMatcherTRGECLModule(MCMatcherTRGECLModule &)=delete
Copy constructor, deleted.
double SignalContribution[100]
Signal Contibution in a TC.
double contribution[100][3]
particles contribution
double py[100][3]
Momentum Y of particle.
virtual void endRun() override
Nothing so far.
double BKGContributionHit[100]
Backgroun Contribution in a TC
int gggmotherHit[100][3]
Grand Grand Grand Mother ID
virtual void terminate() override
Stopping of CPU clock.
int gmother[100][3]
Grand mother ID
double TCHitEnergy[100]
TC Hit energy
int TCPrimaryIndexHit[100][3]
Primary Index in TC hit
double pzHit[100][3]
Momentum X of particle.
double MCEnergyHit[100][3]
Raw Energy of particle
double SignalContributionHit[100]
Signal Contibution in a TC.
int ggmotherHit[100][3]
Grand Grand Mother ID
int TCPrimaryIndex[100][3]
Primary Index in TC hit
StoreArray< TRGECLHitMC > m_trgECLHitMC
output for TRGECLHitMC
virtual void beginRun() override
Nothing so far.
int gggmother[100][3]
Grand Grand Grand Mother ID
double maxEnergy[100][3]
Energy of maximum contribtion particle
double TCRawEnergy[100]
TC raw energy.
virtual ~MCMatcherTRGECLModule()
Destructor.
int background_tagHit[100][3]
Beam background tag.
double pyHit[100][3]
Momentum X of particle.
double TCHitTiming[100]
TC Hit Timking
std::map< int, int > PrimaryTrackMap
define a map for Primary Track
int XtalIdHit[100][3]
XtalId in TC
double TCRawTiming[100]
TC raw timing.
double px[100][3]
Momentum X of particle.
TrgEclMapping * _TCMap
object of TC Mapping
MCMatcherTRGECLModule & operator=(MCMatcherTRGECLModule &)=delete
Assignment operator, deleted.
Base class for Modules.
Definition: Module.h:72
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
A class of TC Mapping.
Definition: TrgEclMapping.h:26
Abstract base class for different kinds of events.