File indexing completed on 2024-09-26 05:07:08
0001
0002
0003
0004 #ifndef __RecoHGCal_TICL_PRbyFASTJET_H__
0005 #define __RecoHGCal_TICL_PRbyFASTJET_H__
0006 #include <memory> // unique_ptr
0007 #include "RecoHGCal/TICL/interface/PatternRecognitionAlgoBase.h"
0008 #include "RecoLocalCalo/HGCalRecAlgos/interface/RecHitTools.h"
0009
0010
0011
0012 namespace fastjet {
0013 class PseudoJet;
0014 };
0015
0016 namespace ticl {
0017 template <typename TILES>
0018 class PatternRecognitionbyFastJet final : public PatternRecognitionAlgoBaseT<TILES> {
0019 public:
0020 PatternRecognitionbyFastJet(const edm::ParameterSet& conf, edm::ConsumesCollector);
0021 ~PatternRecognitionbyFastJet() override = default;
0022
0023 void makeTracksters(const typename PatternRecognitionAlgoBaseT<TILES>::Inputs& input,
0024 std::vector<Trackster>& result,
0025 std::unordered_map<int, std::vector<int>>& seedToTracksterAssociation) override;
0026
0027 void filter(std::vector<Trackster>& output,
0028 const std::vector<Trackster>& inTracksters,
0029 const typename PatternRecognitionAlgoBaseT<TILES>::Inputs& input,
0030 std::unordered_map<int, std::vector<int>>& seedToTracksterAssociation) override;
0031
0032 void energyRegressionAndID(const std::vector<reco::CaloCluster>& layerClusters,
0033 const tensorflow::Session*,
0034 std::vector<Trackster>& result);
0035
0036 static void fillPSetDescription(edm::ParameterSetDescription& iDesc);
0037
0038 private:
0039 edm::ESGetToken<CaloGeometry, CaloGeometryRecord> caloGeomToken_;
0040 const double antikt_radius_;
0041 const int minNumLayerCluster_;
0042 const bool computeLocalTime_;
0043
0044 hgcal::RecHitTools rhtools_;
0045
0046 void buildJetAndTracksters(std::vector<fastjet::PseudoJet>&, std::vector<ticl::Trackster>&);
0047 };
0048
0049 }
0050 #endif