43 static std::unique_ptr<TrackstersCache> initializeGlobalCache(
const edm::ParameterSet&);
49 std::unique_ptr<PatternRecognitionAlgoBaseT<TICLLayerTiles>>
myAlgo_;
50 std::unique_ptr<PatternRecognitionAlgoBaseT<TICLLayerTilesHFNose>>
myAlgoHFNose_;
65 : detector_(ps.getParameter<
std::
string>(
"detector")),
66 doNose_(detector_ ==
"HFNose"),
72 seeding_regions_token_(
74 itername_(ps.getParameter<
std::
string>(
"itername")) {
105 produces<std::vector<Trackster>>();
106 produces<std::vector<float>>();
159 descriptions.
add(
"trackstersProducer",
desc);
163 auto result = std::make_unique<std::vector<Trackster>>();
164 auto initialResult = std::make_unique<std::vector<Trackster>>();
165 auto output_mask = std::make_unique<std::vector<float>>();
173 std::unordered_map<int, std::vector<int>> seedToTrackstersAssociation;
177 for (
unsigned int i = 0;
i < numberOfSeedingRegions; ++
i) {
187 myAlgoHFNose_->makeTracksters(inputHFNose, *initialResult, seedToTrackstersAssociation);
198 myAlgo_->makeTracksters(
input, *initialResult, seedToTrackstersAssociation);
205 output_mask->reserve(original_layerclusters_mask.size());
208 std::begin(original_layerclusters_mask), std::end(original_layerclusters_mask), std::back_inserter(*output_mask));
210 for (
auto& trackster : *
result) {
213 for (
auto const v : trackster.vertices()) {
216 (*output_mask)[
v] = 0.;
ticl::Trackster::IterationIndex iterIndex_
T getParameter(std::string const &) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
edm::EDGetTokenT< TICLLayerTilesHFNose > layer_clusters_tiles_hfnose_token_
std::unique_ptr< TracksterInferenceAlgoBase > inferenceAlgo_
bool get(ProductID const &oid, Handle< PROD > &result) const
layer_clusters_hfnose_tiles
const edm::EDGetTokenT< std::vector< reco::CaloCluster > > clusters_token_
const edm::EDGetTokenT< std::vector< float > > original_layerclusters_mask_token_
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
static std::string const input
void produce(edm::Event &, const edm::EventSetup &) override
edm::EDGetTokenT< TICLLayerTiles > layer_clusters_tiles_token_
const std::string itername_
const edm::EDGetTokenT< std::vector< TICLSeedingRegion > > seeding_regions_token_
const edm::EDGetTokenT< edm::ValueMap< std::pair< float, float > > > clustersTime_token_
#define DEFINE_FWK_MODULE(type)
std::unique_ptr< PatternRecognitionAlgoBaseT< TICLLayerTiles > > myAlgo_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
~TrackstersProducer() override
const edm::EDGetTokenT< std::vector< float > > filtered_layerclusters_mask_token_
std::unique_ptr< PatternRecognitionAlgoBaseT< TICLLayerTilesHFNose > > myAlgoHFNose_
TrackstersProducer(const edm::ParameterSet &)