-
Notifications
You must be signed in to change notification settings - Fork 4.6k
[HGCal] TICL v3 major upgrade #31906
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 64 commits
Commits
Show all changes
66 commits
Select commit
Hold shift + click to select a range
89b12fb
Created a ClusterFilter by Algo, Size and Layer Range
felicepantaleo f39f3a9
include an Electromagnetic TrackSeeded iteration as first iteration
felicepantaleo 2e437da
Add the range of layers to the filter parameters
felicepantaleo eceff27
Inject tracksters from the track seeded electromagnetic interation in…
felicepantaleo d53fa4c
create empty multiclusters
felicepantaleo a394f3e
Add TrkEM tracksters into the Merge collection
rovere 1082657
Select trackster-PID also on EM/Total trackster energy ratio
rovere 0101b45
Fix merge conflict.
rovere b039481
Fix input collection for TRK iteration to be the output of EM iteration
felicepantaleo 23b0397
Sorting seeding regions by track momentum
felicepantaleo d69212b
Use only clusters with minimum size of 3
felicepantaleo cb843b5
Filter only with a maxLayerId in TRKEM iteration.
felicepantaleo 8790b01
Remove MIP iteration
felicepantaleo 41636a6
clang format
felicepantaleo 9eb885d
Limit Global EM iteration to layer 30
felicepantaleo dbbaaae
Limit track seeded iterations to tracks with at most 2 missing outer …
felicepantaleo b576c9e
Add TrkEM products to EventContent
felicepantaleo 72725e3
Remove missing layers cut for EM based iterations
felicepantaleo 918c3a4
Introducing a shower_start_max_layer cut
felicepantaleo 1524925
raising shower_start_max_layer from 3 to 7 in EM iterations
felicepantaleo cdb0e6a
Count usage of layer clusters, only for those tracksters passing the …
felicepantaleo 936c100
Protect from empty multiclusters
felicepantaleo 56d168a
Increasing missing outer hits from 3 to 5
felicepantaleo 9f62bea
increase missing layer from 0 to 1 and loosen min_cos_theta to 0.961 …
felicepantaleo d6af9c3
tighten min_cos_theta from 0.961 to 0.978 in EM iterations
felicepantaleo 0b56bd3
Rename parameter missing_layers to skip_layers.
felicepantaleo 7d80a78
Retuning of PR cuts in EM iterations
felicepantaleo 42413cc
Introducing two cuts: a max_missing_layers_in_trackster and a minimum…
felicepantaleo b93c8ad
Refactoring
felicepantaleo 1251839
Update cuts
rovere 4c54e8b
Make max_missing_layers_in_trackster cut inclusive
felicepantaleo 97b951b
code format
felicepantaleo 01a0f3e
Move trackster energy calculation after the selections are applied
felicepantaleo 86ecf55
Add a new max_longitudinal_sigmaPCA cut for EM iterations, with an in…
felicepantaleo f497df5
Add a new cut: root_doublet_max_distance_from_seed for TrkEM iteratio…
felicepantaleo 6d28404
clang format
felicepantaleo 9638aa7
fix trackster to seed association
felicepantaleo 4317f3f
Setting max_missing_layers_in_trackster to 2 from 0 in EM iterations
felicepantaleo 5bdb770
Fix compilation error in C++
rovere 57b342c
Remove duplicate python parameter
rovere efbafb6
Sorting seeding regions by pT rather than p
felicepantaleo 8d6e738
Added TICL PF interpretation.
felicepantaleo 20adab6
Feed PFTICL the correct InputTag
felicepantaleo 6c32c60
Adapt event content
felicepantaleo d3a76b3
Address review comments
felicepantaleo f2dda06
remove unused import
felicepantaleo 882ff98
Fix Validation for empty tracksters
felicepantaleo 202b865
modify comment to reflect code
felicepantaleo 5289d77
replace parameter root_doublet_max_distance_from_seed with its square
felicepantaleo ec4a82b
Optimization
felicepantaleo d771885
remove unused parameter
felicepantaleo 69128ff
remove commented out code
felicepantaleo 0d4b6f0
optimization
felicepantaleo a61f591
code format
felicepantaleo b4a8cec
code format
felicepantaleo 2147081
code format
felicepantaleo 1c730e1
optimization
felicepantaleo 520d3ad
Simplify energy assignment
felicepantaleo 5dcb727
Provide EcalEnergy and HcalEnergy to JetMET for calibration
felicepantaleo c432855
code format
felicepantaleo 8a48807
assign track momentum direction at point of closest approach instead …
felicepantaleo abc84da
avoid copy
felicepantaleo 2443c12
Add missing const.
felicepantaleo a4029c0
Make track cuts configurable
felicepantaleo bbbacf1
code format
felicepantaleo 92c59aa
fix configurable parameter
felicepantaleo File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
55 changes: 55 additions & 0 deletions
55
RecoHGCal/TICL/plugins/ClusterFilterByAlgoAndSizeAndLayerRange.h
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,55 @@ | ||
| // Authors: Marco Rovere - marco.rovere@cern.ch, Felice Pantaleo - felice.pantaleo@cern.ch | ||
| // Date: 09/2020 | ||
|
|
||
| #ifndef RecoHGCal_TICL_ClusterFilterByAlgoAndSizeAndLayerRange_H__ | ||
| #define RecoHGCal_TICL_ClusterFilterByAlgoAndSizeAndLayerRange_H__ | ||
|
|
||
| #include "DataFormats/CaloRecHit/interface/CaloCluster.h" | ||
| #include "ClusterFilterBase.h" | ||
|
|
||
| #include <memory> | ||
| #include <utility> | ||
|
|
||
| // Filter clusters that belong to a specific algorithm | ||
| namespace ticl { | ||
| class ClusterFilterByAlgoAndSizeAndLayerRange final : public ClusterFilterBase { | ||
| public: | ||
| ClusterFilterByAlgoAndSizeAndLayerRange(const edm::ParameterSet& ps) | ||
| : ClusterFilterBase(ps), | ||
| algo_number_(ps.getParameter<int>("algo_number")), | ||
| min_cluster_size_(ps.getParameter<int>("min_cluster_size")), | ||
| max_cluster_size_(ps.getParameter<int>("max_cluster_size")), | ||
| min_layerId_(ps.getParameter<int>("min_layerId")), | ||
| max_layerId_(ps.getParameter<int>("max_layerId")) {} | ||
| ~ClusterFilterByAlgoAndSizeAndLayerRange() override{}; | ||
|
|
||
| void filter(const std::vector<reco::CaloCluster>& layerClusters, | ||
| const HgcalClusterFilterMask& availableLayerClusters, | ||
| std::vector<float>& layerClustersMask, | ||
| hgcal::RecHitTools& rhtools) const override { | ||
| auto filteredLayerClusters = std::make_unique<HgcalClusterFilterMask>(); | ||
| for (auto const& cl : availableLayerClusters) { | ||
| auto const& layerCluster = layerClusters[cl.first]; | ||
| auto const& haf = layerCluster.hitsAndFractions(); | ||
| auto layerId = rhtools.getLayerWithOffset(haf[0].first); | ||
|
|
||
| if (layerCluster.algo() == algo_number_ and layerId <= max_layerId_ and layerId >= min_layerId_ and | ||
| haf.size() <= max_cluster_size_ and | ||
| (haf.size() >= min_cluster_size_ or !(rhtools.isSilicon(haf[0].first)))) { | ||
| filteredLayerClusters->emplace_back(cl); | ||
| } else { | ||
| layerClustersMask[cl.first] = 0.; | ||
| } | ||
| } | ||
| } | ||
|
|
||
| private: | ||
| int algo_number_; | ||
| unsigned int min_cluster_size_; | ||
| unsigned int max_cluster_size_; | ||
| unsigned int min_layerId_; | ||
| unsigned int max_layerId_; | ||
| }; | ||
| } // namespace ticl | ||
|
|
||
| #endif |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.