Belle II Software development
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 setICN(const std::vector<int>&);
50 void setICN(const std::vector<int>&, const std::vector<double>&, const std::vector<double>&);
52 void save(int);
54 void setBarrelICN(int);
56 void setBarrelICNsub(int, std::vector<int>,
57 int&, int&, int&, int&, int&, int&, int&, int&);
59 void setForwardICN(int);
61 void setBackwardICN(int);
63 int setBarrelICN();
65 int setForwardICN();
67 int setBackwardICN();
69 void setEventId(int eventId) {_EventId = eventId; }
71 void setClusteringMethod(int method) {_Method = method; }
73 void setClusterLimit(int limit) {_LimitNCluster = limit; }
74
75 //
76 //
78 int getICNFwBr(void);
79
81 int getICNSub(int);
82 //
83
89 int getBrICNCluster(int ICNId, int);
91 int getBwICNCluster(int ICNId, int);
93 int getFwICNCluster(int ICNId, int);
98
99
100 //
101 //
105 private:
106 //
107
108
129
130
132 std::vector<int> _icnfwbrbw;
134 std::vector<int> TCId;
136 std::vector<double> Timing;
138 std::vector<double> Energy;
139
141 std::vector<std::vector<int>> _Quadrant;
142
144 std::vector<std::vector<int>> _BrCluster;
146 std::vector<std::vector<int>> _FwCluster;
148 std::vector<std::vector<int>> _BwCluster;
149
150
151
153 std::vector<std::vector<double>> ClusterTiming;
155 std::vector<std::vector<double>> ClusterEnergy;
157 std::vector<std::vector<double>> ClusterPositionX;
159 std::vector<std::vector<double>> ClusterPositionY;
161 std::vector<std::vector<double>> ClusterPositionZ;
163 std::vector<std::vector<int>> NofTCinCluster;
165 std::vector<std::vector<int>> MaxTCId;
167 std::vector<int> TempCluster;
170
171
172 };
173//
174//
175//
177} // namespace Belle2
178
179#endif /* TRGECLCLUSTER_FLAG_ */
A Class of ECL Trigger clustering
Definition: TrgEclCluster.h:30
void save(int)
Save Cluster information in TRGECLCluster Table.
int _Position
Position calculation method(0:Most energetic TC Postion, 1 : Energy weighted Postion)
void setICN(const std::vector< int > &)
set ICN for each part(Fw,Br,Bw)
std::vector< std::vector< int > > _Quadrant
Quadrant for Beam Backgournd veto.
int _BRNofCluster
Cluster in Barrel.
std::vector< std::vector< int > > NofTCinCluster
N of TC in Cluster
std::vector< int > TempCluster
Temporal Cluster.
int getICNSub(int)
get ICN in each region(Fw(0), Br(1), Bw(2))
int _BWDNofCluster
Cluster in Backward Endcap.
std::vector< std::vector< int > > _FwCluster
cluster in forward endcap
int getICNFwBr(void)
get ICN in Barrel and Forward
std::vector< std::vector< double > > ClusterPositionX
Cluster position in X-axis.
int getNofExceedCluster()
get # Cluster in case of exceeding limit
int setBarrelICN()
calculate Belle ICN in Barrel
int setBackwardICN()
calculate Belle ICN in Backward endcap
std::vector< std::vector< double > > ClusterPositionZ
Cluster position in Z-axis.
void setClusterLimit(int limit)
Set Limit of Cluster.
Definition: TrgEclCluster.h:73
std::vector< int > _icnfwbrbw
icn
std::vector< std::vector< int > > _BwCluster
cluster in backward endcap
int getNofCluster()
0 : center , 1; upper , 2: right , 3: lower , 4: lower right
Definition: TrgEclCluster.h:95
int getBrICNCluster(int ICNId, int)
get ICN in QuadrantId in Fw or Br or Bw.
int setForwardICN()
calculate Belle ICN in Foward endcap
int getFwICNCluster(int ICNId, int)
0 : center , 1; upper , 2: right , 3: lower , 4: lower right
void setBarrelICNsub(int, std::vector< int >, int &, int &, int &, int &, int &, int &, int &, int &)
calculate 3x3 TC hit map for ICN in Barrel
int _Method
Clustering method.
int _BRICN
get Beam bkg veto flag.
std::vector< std::vector< double > > ClusterPositionY
Cluster position in Y-axis.
int _FWDNofCluster
Cluster in Forward Endcap.
virtual ~TrgEclCluster()
Constructor.
TrgEclCluster()
Constructor.
std::vector< std::vector< int > > MaxTCId
Maximum contribution TC Id in Cluster.
int _LimitNCluster
the Limit Number of Cluster
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.
Definition: TrgEclCluster.h:71
int _EventId
event number
void setEventId(int eventId)
Set EventId.
Definition: TrgEclCluster.h:69
std::vector< std::vector< double > > ClusterTiming
Cluster timing.
std::vector< std::vector< double > > ClusterEnergy
Cluster enrgy
int _FWDICN
ICN in Forward Endcap.
TrgEclMapping * _TCMap
Object of TC Mapping.
int _BWDICN
ICN in Backward Endcap.
TrgEclCluster & operator=(TrgEclCluster &)=delete
Assignement operator, deleted.
std::vector< int > TCId
TC Id.
std::vector< std::vector< int > > _BrCluster
cluster in barrel
std::vector< double > Energy
TC energy
std::vector< double > Timing
TC timing.
A class of TC Mapping.
Definition: TrgEclMapping.h:26
Abstract base class for different kinds of events.