Belle II Software prerelease-10-00-00a
TrgEclCluster.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 TRGECLCLUSTER_FLAG_
10#define TRGECLCLUSTER_FLAG_
11
12#include <vector>
13
14//#include "trg/ecl/TrgEclFAM.h"
15#include "trg/ecl/TrgEclMapping.h"
16//
17//
18//
19namespace Belle2 {
24//
25//
26//
27 //
29 //
31
32 public:
35
37 virtual ~TrgEclCluster();
38
41
44
45 public:
46
48 void initialize(void);
50 void setICN(const std::vector<int>&);
52 void setICN(const std::vector<int>&, const std::vector<double>&, const std::vector<double>&);
54 void save(int);
56 void setBarrelICN(int);
58 void setBarrelICNsub(int, std::vector<int>,
59 int&, int&, int&, int&, int&, int&, int&, int&);
61 void setForwardICN(int);
63 void setBackwardICN(int);
65 int setBarrelICN();
67 int setForwardICN();
69 int setBackwardICN();
71 void setEventId(int eventId) { m_EventId = eventId; }
73 void setClusteringMethod(int method) { m_Method = method; }
75 void setClusterLimit(int limit) { m_LimitNCluster = limit; }
76
77 //
78 //
80 int getICNFwBr(void);
81
83 int getICNSub(int);
84 //
85
91 int getBrICNCluster(int ICNId, int);
93 int getBwICNCluster(int ICNId, int);
95 int getFwICNCluster(int ICNId, int);
100
101
102 //
103 //
107 private:
108 //
109
110
131
132
134 std::vector<int> m_icnfwbrbw;
136 std::vector<int> m_TCId;
138 std::vector<double> m_Timing;
140 std::vector<double> m_Energy;
141
143 std::vector<std::vector<int>> m_Quadrant;
144
146 std::vector<std::vector<int>> m_BrCluster;
148 std::vector<std::vector<int>> m_FwCluster;
150 std::vector<std::vector<int>> m_BwCluster;
151
152
153
155 std::vector<std::vector<double>> m_ClusterTiming;
157 std::vector<std::vector<double>> m_ClusterEnergy;
159 std::vector<std::vector<double>> m_ClusterPositionX;
161 std::vector<std::vector<double>> m_ClusterPositionY;
163 std::vector<std::vector<double>> m_ClusterPositionZ;
165 std::vector<std::vector<int>> m_NofTCinCluster;
167 std::vector<std::vector<int>> m_MaxTCId;
169 std::vector<int> m_TempCluster;
172
173
174 };
175//
176//
177//
179} // namespace Belle2
180
181#endif /* TRGECLCLUSTER_FLAG_ */
std::vector< std::vector< int > > m_BwCluster
cluster in backward endcap
int m_BWDNofCluster
Cluster in Backward Endcap.
void save(int)
Save Cluster information in TRGECLCluster Table.
int m_LimitNCluster
the Limit Number of Cluster
void setICN(const std::vector< int > &)
set ICN for each part(Fw,Br,Bw)
int getICNSub(int)
get ICN in each region(Fw(0), Br(1), Bw(2))
std::vector< std::vector< int > > m_FwCluster
cluster in forward endcap
std::vector< std::vector< double > > m_ClusterTiming
Cluster timing.
int getICNFwBr(void)
get ICN in Barrel and Forward
int m_BRNofCluster
Cluster in Barrel.
int getNofExceedCluster()
get # Cluster in case of exceeding limit
int setBarrelICN()
calculate Belle ICN in Barrel
int m_Method
Clustering method.
std::vector< int > m_icnfwbrbw
icn
int setBackwardICN()
calculate Belle ICN in Backward endcap
std::vector< std::vector< int > > m_MaxTCId
Maximum contribution TC Id in Cluster.
std::vector< std::vector< double > > m_ClusterPositionX
Cluster position in X-axis.
std::vector< std::vector< double > > m_ClusterEnergy
Cluster enrgy.
int m_FWDICN
ICN in Forward Endcap.
void setClusterLimit(int limit)
Set Limit of Cluster.
std::vector< std::vector< double > > m_ClusterPositionZ
Cluster position in Z-axis.
int m_BRICN
get Beam bkg veto flag.
std::vector< std::vector< int > > m_NofTCinCluster
N of TC in Cluster.
int m_BWDICN
ICN in Backward Endcap.
std::vector< std::vector< int > > m_Quadrant
Quadrant for Beam Background veto.
int getNofCluster()
0 : center , 1; upper , 2: right , 3: lower , 4: lower right
int getBrICNCluster(int ICNId, int)
get ICN in QuadrantId in Fw or Br or Bw.
std::vector< double > m_Energy
TC energy.
int setForwardICN()
calculate Belle ICN in Forward endcap
int getFwICNCluster(int ICNId, int)
0 : center , 1; upper , 2: right , 3: lower , 4: lower right
std::vector< std::vector< int > > m_BrCluster
cluster in barrel
void setBarrelICNsub(int, std::vector< int >, int &, int &, int &, int &, int &, int &, int &, int &)
calculate 3x3 TC hit map for ICN in Barrel
void initialize(void)
initialization
std::vector< int > m_TempCluster
Temporal Cluster.
std::vector< int > m_TCId
TC Id.
virtual ~TrgEclCluster()
Constructor.
TrgEclCluster()
Constructor.
TrgEclCluster(TrgEclCluster &)=delete
Destructor.
int getBwICNCluster(int ICNId, int)
0 : center , 1; upper , 2: right , 3: lower , 4: lower right
void setClusteringMethod(int method)
Set.
void setEventId(int eventId)
Set EventId.
int m_FWDNofCluster
Cluster in Forward Endcap.
int m_EventId
event number
int m_Position
Position calculation method(0:Most energetic TC Position, 1 : Energy weighted Position)
std::vector< std::vector< double > > m_ClusterPositionY
Cluster position in Y-axis.
TrgEclMapping * m_TCMap
Object of TC Mapping.
TrgEclCluster & operator=(TrgEclCluster &)=delete
Assignment operator, deleted.
std::vector< double > m_Timing
TC timing.
A class of TC Mapping.
Abstract base class for different kinds of events.