5#ifndef TRIGGEPPERF_WTACONEJETMAKER_H
6#define TRIGGEPPERF_WTACONEJETMAKER_H
32 WTAConeJetMaker(
unsigned int block_n = 4,
unsigned int rolloff_buffersize = 155) :
38 virtual std::string
toString()
const override{
return "WTAConeJet"; }
39 virtual std::vector<Gep::Jet>
makeJets(
const std::vector<Gep::Cluster>& TopoTowers)
const override;
43 switch(seed_cleaning_algo)
46 return std::make_unique<WTAConeMaker>();
48 return std::make_unique<WTACone2PassMaker>();
58 #ifdef FLOATING_POINT_SIMULATION
66 const double pt_scaled = topotower.
vec.Pt() / LSB;
67 const double m_scaled = topotower.
vec.M() / LSB;
68 const double eta_scaled = (topotower.
vec.Eta() +
fl_ETA_MAX) / ETA_WIDTH;
69 const double phi_scaled = (topotower.
vec.Phi() +
fl_PHI_MAX) / PHI_WIDTH;
72 pt_t i_pt (
static_cast<int>(pt_scaled));
73 m_t i_m (
static_cast<int>(m_scaled));
74 eta_t i_eta(
static_cast<int>(eta_scaled));
75 phi_t i_phi(
static_cast<int>(phi_scaled));
78 return WTATrigObj(i_pt, i_eta, i_phi, i_m, idx);
83 #ifdef BITWISE_SIMULATION
84 const double f_pt =
static_cast<double>(iJet.
pt().raw()) * LSB;
85 const double f_m =
static_cast<double>(iJet.
m().raw()) * LSB;
86 const double f_eta =
static_cast<double>(iJet.
eta().raw()) * ETA_WIDTH -
fl_ETA_MAX;
87 const double f_phi =
static_cast<double>(iJet.
phi().raw()) * PHI_WIDTH -
fl_PHI_MAX;
88 #elif defined(INTEGER_SIMULATION)
89 const double f_pt =
static_cast<double>(iJet.
pt()) * LSB;
90 const double f_m =
static_cast<double>(iJet.
m()) * LSB;
91 const double f_eta =
static_cast<double>(iJet.
eta()) * ETA_WIDTH -
fl_ETA_MAX;
92 const double f_phi =
static_cast<double>(iJet.
phi()) * PHI_WIDTH -
fl_PHI_MAX;
97 fJet.
vec.SetPtEtaPhiM(f_pt, f_eta, f_phi, f_m);
101 #ifdef BITWISE_SIMULATION
107 #elif defined(INTEGER_SIMULATION)
virtual std::string toString() const override
virtual std::vector< Gep::Jet > makeJets(const std::vector< Gep::Cluster > &TopoTowers) const override
unsigned int m_SeedCleaningAlgo
WTAParameters m_GEPWTAParameters
WTATrigObj fTower_to_iTower(const Gep::Cluster &topotower, int idx=-99) const
Gep::Jet iJet_to_fJet(const WTAJet &iJet) const
unsigned int m_RollOffBufferSize
void SetRollOffBufferSize(int rolloff_buffersize)
void SetBlockN(unsigned int block_n)
void SetSeedCleaningAlgo(unsigned int algo)
WTAConeJetMaker(unsigned int block_n=4, unsigned int rolloff_buffersize=155)
std::unique_ptr< WTAConeMaker > CreateWTAConeMaker(enum WTAConeMakerEnum seed_cleaning_algo) const
int GetRollOffBufferSize()
const WTA4JetERingInfo & GetERingInfo() const