84 if (
input.regions.empty())
96 auto lastLayerPerSide =
static_cast<unsigned int>(
rhtools_.
lastLayer(isHFnose)) - 1;
97 unsigned int maxLayer = 2 * lastLayerPerSide - 1;
98 std::vector<fastjet::PseudoJet> fjInputs;
100 for (
unsigned int currentLayer = 0; currentLayer <= maxLayer; ++currentLayer) {
101 if (currentLayer == lastLayerPerSide) {
104 const auto &tileOnLayer =
input.tiles[currentLayer];
115 for (
auto clusterIdx : tileOnLayer[
offset +
iphi]) {
117 if (
input.mask[clusterIdx] == 0.) {
119 edm::LogVerbatim(
"PatternRecogntionbyFastJet") <<
"Skipping masked layerIdx " << clusterIdx;
124 auto const &
cl =
input.layerClusters[clusterIdx];
126 direction = direction.Unit();
127 direction *=
cl.energy();
128 auto fpj = fastjet::PseudoJet(direction.X(), direction.Y(), direction.Z(),
cl.energy());
129 fpj.set_user_index(clusterIdx);
130 fjInputs.push_back(fpj);
141 input.layerClustersTime,
149 edm::LogVerbatim(
"PatternRecogntionbyFastJet") <<
"Barycenter: " <<
t.barycenter();
150 edm::LogVerbatim(
"PatternRecogntionbyFastJet") <<
"LCs: " <<
t.vertices().size();
152 edm::LogVerbatim(
"PatternRecogntionbyFastJet") <<
"Regressed: " <<
t.regressed_energy();
Log< level::Info, true > LogVerbatim
hgcal::RecHitTools rhtools_
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
void assignPCAtoTracksters(std::vector< Trackster > &tracksters, const std::vector< reco::CaloCluster > &layerClusters, const edm::ValueMap< std::pair< float, float >> &layerClustersTime, double z_limit_em, hgcal::RecHitTools const &rhTools, bool computeLocalTime=false, bool energyWeight=true, bool clean=false, int minLayer=10, int maxLayer=10)
static std::string const input
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeomToken_
void buildJetAndTracksters(std::vector< fastjet::PseudoJet > &, std::vector< ticl::Trackster > &)
XYZVectorD XYZVector
spatial vector with cartesian internal representation
const bool computeLocalTime_
static constexpr int nPhiBins