#include <WTAConeParallelHelper.h>
Definition at line 15 of file WTAConeParallelHelper.h.
◆ WTAConeParallelHelper()
| WTAConeParallelHelper::WTAConeParallelHelper |
( |
unsigned int | block_n = 1 | ) |
|
|
inline |
◆ ~WTAConeParallelHelper()
| WTAConeParallelHelper::~WTAConeParallelHelper |
( |
| ) |
|
|
inline |
◆ CheckInsideRegionEta()
template<typename T>
| bool WTAConeParallelHelper::CheckInsideRegionEta |
( |
T | tower_pos, |
|
|
unsigned int | iBlock, |
|
|
bool | doWithOverlap = false ) |
Definition at line 114 of file WTAConeParallelHelper.h.
114 {
115 T block_half_width = ETA_LEN /
T(
m_BlockN *2);
116 T block_center = ETA_MIN + ETA_LEN /
T(
m_BlockN) * iBlock + block_half_width;
117 if (doWithOverlap) {
118 block_half_width = block_half_width +
T(CORE_DIST);
119 }
120
121 T block_min = block_center - block_half_width;
122 T block_max = block_center + block_half_width;
123
124 return (tower_pos >= block_min) && (tower_pos < block_max);
125}
◆ CheckInsideRegionPhi()
template<typename T>
| bool WTAConeParallelHelper::CheckInsideRegionPhi |
( |
T | tower_pos, |
|
|
unsigned int | iBlock, |
|
|
bool | doWithOverlap = false ) |
Definition at line 128 of file WTAConeParallelHelper.h.
128 {
129 T block_center = PHI_MIN + PHI_LEN /
T(
m_BlockN) * iBlock;
130 T block_half_width = PHI_LEN /
T(
m_BlockN *2);
131 if (doWithOverlap) {
132 block_half_width = block_half_width +
T(CORE_DIST);
133 }
134
135
136 T block_min =
PhiWrap(block_center - block_half_width);
137 T block_max =
PhiWrap(block_center + block_half_width);
138 tower_pos =
PhiWrap(tower_pos);
139
140 if (block_min < block_max) {
141 return (tower_pos >= block_min) && (tower_pos < block_max);
142 } else {
143
144 return (tower_pos >= block_min) || (tower_pos < block_max);
145 }
146}
T PhiWrap(T phi)
StoreAmbiguousJets.
◆ CheckJetInCore()
| void WTAConeParallelHelper::CheckJetInCore |
( |
| ) |
|
|
inline |
Definition at line 191 of file WTAConeParallelHelper.h.
192{
193 std::vector<WTAJet> all_jets;
194 for(
unsigned int iBlock = 0; iBlock <
m_BlockN; iBlock++)
195 {
197 if(this_block_jet_n == 0) continue;
198
200 {
201 for (
int j = this_block_jet_n - 1;
j >= 0;
j--)
202 {
204 eta_t jet_pos = jet.
eta();
207 }
208 }
209 else
210 {
211 for (
int j = this_block_jet_n - 1;
j >= 0;
j--) {
213 phi_t jet_pos = jet.
phi();
216 }
217 }
218 }
219}
std::vector< std::vector< WTAJet > > m_OutputJetsPerBlock
bool CheckInsideRegionEta(T tower_pos, unsigned int iBlock, bool doWithOverlap=false)
bool CheckInsideRegionPhi(T tower_pos, unsigned int iBlock, bool doWithOverlap=false)
float j(const xAOD::IParticle &, const xAOD::TrackMeasurementValidation &hit, const Eigen::Matrix3d &jab_inv)
◆ CreateBlocks()
| void WTAConeParallelHelper::CreateBlocks |
( |
const std::vector< WTATrigObj > & | all_towers | ) |
|
|
inline |
Definition at line 148 of file WTAConeParallelHelper.h.
149{
150 const unsigned tower_n = all_towers.size();
151 for(
unsigned int iBlock = 0; iBlock <
m_BlockN; iBlock++)
152 {
154 {
155 for(unsigned int iTower = 0; iTower < tower_n; iTower++)
156 {
157 eta_t tower_pos = all_towers.at(iBlock).eta();
160 }
161 }
162 else
163 {
164 for(unsigned int iTower = 0; iTower < tower_n; iTower++)
165 {
166 phi_t tower_pos =
PhiWrap(all_towers.at(iTower).phi());
169 }
170 }
171 }
172}
std::vector< std::vector< WTATrigObj > > m_InputTowersPerBlock
◆ GetAllJets()
| std::vector< WTAJet > WTAConeParallelHelper::GetAllJets |
( |
| ) |
|
|
inline |
Definition at line 221 of file WTAConeParallelHelper.h.
222{
223 std::vector<WTAJet> all_jets;
225 {
227 }
230 std::vector<pt_t> duplicated_pt_list;
231 unsigned int cnt = 0;
232 for(
unsigned int i = 0;
i < all_jets.size() - 1;
i++){
233 pt_t i_pt = all_jets.at(i).pt();
234
235 if(std::find(duplicated_pt_list.begin(), duplicated_pt_list.end(),i_pt)!= duplicated_pt_list.end()) continue;
236 for(
unsigned int j = i + 1;
j < all_jets.size();
j++){
237 pt_t j_pt = all_jets.at(j).pt();
238 if(i_pt == j_pt){
240 if(std::find(duplicated_pt_list.begin(), duplicated_pt_list.end(),i_pt)!= duplicated_pt_list.end())duplicated_pt_list.push_back(i_pt);
241 }
242 }
243 }
245 }
247 return all_jets;
248}
static void SortByPt(std::vector< T > &list)
◆ GetBlockN()
| unsigned int WTAConeParallelHelper::GetBlockN |
( |
| ) |
|
|
inline |
◆ GetJetN()
| unsigned int WTAConeParallelHelper::GetJetN |
( |
| ) |
|
|
inline |
◆ GetStage1ConstituentListPerBlock()
| std::vector< WTATrigObj > WTAConeParallelHelper::GetStage1ConstituentListPerBlock |
( |
unsigned int | iBlock | ) |
const |
|
inline |
Definition at line 53 of file WTAConeParallelHelper.h.
53 {
55 }
std::vector< std::vector< WTATrigObj > > m_stage1_constituentListPerBlock
◆ GetStage1SeedSortingPerBlock()
| std::vector< WTATrigObj > WTAConeParallelHelper::GetStage1SeedSortingPerBlock |
( |
unsigned int | iBlock | ) |
const |
|
inline |
Definition at line 56 of file WTAConeParallelHelper.h.
56 {
58 }
std::vector< std::vector< WTATrigObj > > m_stage1_seedSortingListPerBlock
◆ GetStage2ConeSeedsPPerBlock()
| std::vector< WTAJet > WTAConeParallelHelper::GetStage2ConeSeedsPPerBlock |
( |
unsigned int | iBlock | ) |
const |
|
inline |
Definition at line 59 of file WTAConeParallelHelper.h.
59 {
61 }
std::vector< std::vector< WTAJet > > m_stage2_coneSeedsPerBlock
◆ GetStage3ConeJetsPerBlock()
| std::vector< WTAJet > WTAConeParallelHelper::GetStage3ConeJetsPerBlock |
( |
unsigned int | iBlock | ) |
const |
|
inline |
Definition at line 62 of file WTAConeParallelHelper.h.
62 {
64 }
std::vector< std::vector< WTAJet > > m_stage3_coneJetsPerBlock
◆ GetStoreAmbiguousJets()
| bool WTAConeParallelHelper::GetStoreAmbiguousJets |
( |
| ) |
|
|
inline |
◆ PhiWrap()
template<typename T>
| T WTAConeParallelHelper::PhiWrap |
( |
T | phi | ) |
|
|
inline |
StoreAmbiguousJets.
Definition at line 101 of file WTAConeParallelHelper.h.
101 {
102#ifdef FLOATING_POINT_SIMULATION
106#else
107 T wrapped =
phi % PHI_LEN;
108 if (wrapped < 0) wrapped = wrapped + PHI_LEN;
109 return wrapped;
110#endif
111}
Scalar phi() const
phi method
◆ RunParallelWTA()
template<typename WTAClassType>
| void WTAConeParallelHelper::RunParallelWTA |
( |
std::unique_ptr< WTAClassType > & | AnyWTAClass | ) |
|
|
inline |
Definition at line 175 of file WTAConeParallelHelper.h.
176{
178 {
182 MyWTAMakerClass->SeedCleaning();
184 MyWTAMakerClass->MergeConstsToSeeds();
185 MyWTAMakerClass->CreateERingInfo();
188 }
189}
◆ SetBlockN()
| void WTAConeParallelHelper::SetBlockN |
( |
unsigned int | block_n | ) |
|
|
inline |
◆ SetDivideByEta()
| void WTAConeParallelHelper::SetDivideByEta |
( |
bool | divide_by_eta | ) |
|
|
inline |
◆ SetJetN()
| void WTAConeParallelHelper::SetJetN |
( |
unsigned int | jet_n | ) |
|
|
inline |
◆ SetStoreAmbiguousJets()
| void WTAConeParallelHelper::SetStoreAmbiguousJets |
( |
bool | store_ambiguous_jets | ) |
|
|
inline |
◆ m_BlockN
| unsigned int WTAConeParallelHelper::m_BlockN |
|
private |
◆ m_DivideByEta
| bool WTAConeParallelHelper::m_DivideByEta |
|
private |
◆ m_InputTowersPerBlock
| std::vector<std::vector<WTATrigObj> > WTAConeParallelHelper::m_InputTowersPerBlock |
|
private |
◆ m_JetN
| unsigned int WTAConeParallelHelper::m_JetN |
|
private |
◆ m_OutputJetsPerBlock
| std::vector<std::vector<WTAJet> > WTAConeParallelHelper::m_OutputJetsPerBlock |
|
private |
◆ m_stage1_constituentListPerBlock
| std::vector<std::vector<WTATrigObj> > WTAConeParallelHelper::m_stage1_constituentListPerBlock |
|
private |
◆ m_stage1_seedSortingListPerBlock
| std::vector<std::vector<WTATrigObj> > WTAConeParallelHelper::m_stage1_seedSortingListPerBlock |
|
private |
◆ m_stage2_coneSeedsPerBlock
| std::vector<std::vector<WTAJet> > WTAConeParallelHelper::m_stage2_coneSeedsPerBlock |
|
private |
◆ m_stage3_coneJetsPerBlock
| std::vector<std::vector<WTAJet> > WTAConeParallelHelper::m_stage3_coneJetsPerBlock |
|
private |
◆ m_StoreAmbiguousJets
| bool WTAConeParallelHelper::m_StoreAmbiguousJets |
|
private |
The documentation for this class was generated from the following file: