Belle II Software  release-08-01-10
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 //
19 namespace Belle2 {
24 //
25 //
26 //
27  //
29  //
30  class TrgEclCluster {
31 
32  public:
34  TrgEclCluster();
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);
97  int getNofExceedCluster();
98 
99 
100  //
101  //
105  private:
106  //
107 
108 
110  int _BRICN;
112  int _FWDICN;
114  int _BWDICN;
122  int _EventId;
124  int _Method;
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.
std::vector< int > TCId
TC Id.
TrgEclCluster & operator=(TrgEclCluster &)=delete
Assignement operator, deleted.
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.