13 #ifndef Stage2Layer2TauAlgorithmFirmware_H 14 #define Stage2Layer2TauAlgorithmFirmware_H 29 const std::vector<CaloTower>& towers,
30 std::vector<Tau> &
taus)
override;
32 void merging(
const std::vector<l1t::CaloCluster>& clusters,
const std::vector<l1t::CaloTower>& towers, std::vector<l1t::Tau>& taus);
33 void dosorting(std::vector<l1t::Tau>& taus);
51 unsigned int isoLutIndex(
int Et,
int hweta,
unsigned int nrTowers);
56 unsigned int calibLutIndex (
int ieta,
int Et,
int hasEM,
int isMerged);
std::vector< std::vector< float > > coefficients_
unsigned int calibLutIndex(int ieta, int Et, int hasEM, int isMerged)
bool is3x3Maximum(const l1t::CaloTower &tower, const std::vector< CaloTower > &towers, l1t::CaloStage2Nav &caloNav)
~Stage2Layer2TauAlgorithmFirmwareImp1() override
void processEvent(const std::vector< CaloCluster > &clusters, const std::vector< CaloTower > &towers, std::vector< Tau > &taus) override
void loadCalibrationLuts()
std::vector< std::unique_ptr< l1t::CaloCluster > > makeSecClusters(const std::vector< l1t::CaloTower > &towers, std::vector< int > &sites, const l1t::CaloCluster &mainCluster, l1t::CaloStage2Nav &caloNav)
int isoCalTauHwFootPrint(const l1t::CaloCluster &, const std::vector< l1t::CaloTower > &)
void dosorting(std::vector< l1t::Tau > &taus)
int calibratedPt(const l1t::CaloCluster &clus, const std::vector< l1t::CaloTower > &towers, int hwPt, bool isMerged)
Stage2Layer2TauAlgorithmFirmwareImp1(CaloParamsHelper const *params)
static bool compareTowers(l1t::CaloTower TT1, l1t::CaloTower TT2)
void merging(const std::vector< l1t::CaloCluster > &clusters, const std::vector< l1t::CaloTower > &towers, std::vector< l1t::Tau > &taus)
CaloParamsHelper const * params_
unsigned int trimMainLutIndex(int neighPos, bool isWe)
unsigned int isoLutIndex(int Et, int hweta, unsigned int nrTowers)