File indexing completed on 2024-08-21 04:46:45
0001
0002
0003
0004
0005
0006
0007 #ifndef RecoHGCal_TICL_TracksterLinkingSuperClusteringMustache_H
0008 #define RecoHGCal_TICL_TracksterLinkingSuperClusteringMustache_H
0009
0010 #include <vector>
0011
0012 namespace cms {
0013 namespace Ort {
0014 class ONNXRuntime;
0015 }
0016 }
0017
0018 #include "RecoHGCal/TICL/interface/TracksterLinkingAlgoBase.h"
0019 #include "RecoHGCal/TICL/interface/SuperclusteringDNNInputs.h"
0020
0021 #include "CondFormats/EcalObjects/interface/EcalMustacheSCParameters.h"
0022 #include "CondFormats/DataRecord/interface/EcalMustacheSCParametersRcd.h"
0023 #include "CondFormats/EcalObjects/interface/EcalSCDynamicDPhiParameters.h"
0024 #include "CondFormats/DataRecord/interface/EcalSCDynamicDPhiParametersRcd.h"
0025
0026 namespace ticl {
0027 class Trackster;
0028
0029 class TracksterLinkingbySuperClusteringMustache : public TracksterLinkingAlgoBase {
0030 public:
0031 TracksterLinkingbySuperClusteringMustache(const edm::ParameterSet& ps,
0032 edm::ConsumesCollector iC,
0033 cms::Ort::ONNXRuntime const* onnxRuntime = nullptr);
0034 ~TracksterLinkingbySuperClusteringMustache() override {}
0035 static void fillPSetDescription(edm::ParameterSetDescription& iDesc);
0036
0037 void linkTracksters(const Inputs& input,
0038 std::vector<Trackster>& resultTracksters,
0039 std::vector<std::vector<unsigned int>>& linkedResultTracksters,
0040 std::vector<std::vector<unsigned int>>& linkedTracksterIdToInputTracksterId) override;
0041 void initialize(const HGCalDDDConstants* hgcons,
0042 const hgcal::RecHitTools rhtools,
0043 const edm::ESHandle<MagneticField> bfieldH,
0044 const edm::ESHandle<Propagator> propH) override;
0045
0046 virtual void setEvent(edm::Event& iEvent, edm::EventSetup const& iEventSetup) override;
0047
0048 private:
0049 bool trackstersPassesPIDCut(const Trackster& ts) const;
0050
0051 edm::ESGetToken<EcalMustacheSCParameters, EcalMustacheSCParametersRcd> ecalMustacheSCParametersToken_;
0052 edm::ESGetToken<EcalSCDynamicDPhiParameters, EcalSCDynamicDPhiParametersRcd> ecalSCDynamicDPhiParametersToken_;
0053 const EcalMustacheSCParameters* mustacheSCParams_;
0054 const EcalSCDynamicDPhiParameters* scDynamicDPhiParams_;
0055
0056 float seedThresholdPt_;
0057 float candidateEnergyThreshold_;
0058 bool filterByTracksterPID_;
0059 std::vector<int> tracksterPIDCategoriesToFilter_;
0060 float PIDThreshold_;
0061 };
0062
0063 }
0064
0065 #endif