Skip to content
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

[12_6_X] Nano: fix and additions to collection matching, remove cross-cleaning #40183

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
206 commits
Select commit Hold shift + click to select a range
8c9d152
Use `fp_traits_non_native` directly in eos-portable-archive
guitargeek Sep 23, 2021
11f126e
Replace Geometry_cff with GeometryDB_cff
jeongeun Aug 24, 2022
65cd4fd
JetCorrector migration in DQM/Physics
wddgit Oct 25, 2022
5e6af56
update GEMOHStatus to check GE21 module type
yeckang Oct 30, 2022
7577fb8
Merged OHStatus_12_6_X from repository yeckang with cms-merge-topic
quark2 Oct 31, 2022
d8272af
update GEM Status to check GE21 module type
yeckang Oct 30, 2022
0d3afea
Merged OHStatus_12_6_X from repository yeckang with cms-merge-topic
quark2 Oct 31, 2022
66b9417
Updates of GE21 online/offlineDQM plots with division by modules
quark2 Nov 4, 2022
f61fc9e
Code check
quark2 Nov 4, 2022
16adbef
rebase
Oct 18, 2022
ffb28aa
Rebasing
Oct 6, 2022
d60eeb9
Addressing first round of comments
Jul 21, 2022
872cbc3
Rationalizing TrackingRecHit constructors
Jul 22, 2022
7c60fb9
Addressing comments, rebasing and:
Aug 17, 2022
ae481fb
Fixes and clean up
Aug 24, 2022
4463e24
Cleaning consumes templates
Sep 27, 2022
5cb46ec
Fix hlt discrepancies and rebasing
Nov 1, 2022
9602fe7
Replacing jet b-tagger 'pfCombinedSecondaryVertexV2BJetTags' with 'pf…
Nov 14, 2022
186e22f
discard LS (work in progress..)
smorovic Nov 14, 2022
1563793
discardls fix
smorovic Nov 14, 2022
1e68cb4
create a marker file in constructor
smorovic Nov 14, 2022
071307a
Move empty INI file creation to the constructor of the DQM histogram …
smorovic Nov 14, 2022
aa8675e
Add TTID error plots
abhih1 Nov 15, 2022
b7beac3
bugfixes to the discardLS feature
smorovic Nov 16, 2022
952825e
fix code-checks
smorovic Nov 17, 2022
7509ee9
code-format fixes
smorovic Nov 17, 2022
8de4a67
Allow SwitchProducer cases to declare different transient products
wddgit Nov 17, 2022
3239388
temptative short names of matrix workflows
vlimant Nov 17, 2022
da61748
Remove left over uGMT ZS configuration
dinyar Nov 18, 2022
5aa17ac
use LFN for unit test input
sroychow Nov 18, 2022
ef53993
Add check of put values to unit test
wddgit Nov 18, 2022
a9de84f
fix HcalGPU Task collection name and add protection to collection non…
lwang046 Nov 19, 2022
b1d1043
Clean BuildFiles
guitargeek Nov 20, 2022
2dd6fba
New Primary Vertexing:
giorgiopizz May 9, 2022
7c30b9e
Added weighted mean with beamSpot constraint
giorgiopizz Oct 10, 2022
4705f50
Fixes to workflows, code formatting and checks
Oct 12, 2022
9b0493e
Fixing workflows and parameters, whitespaces, hearders
AdrianoDee Oct 19, 2022
0066db6
Addressing comments
Nov 15, 2022
fed5388
simplifying code from suggestion, tested works well
lwang046 Nov 20, 2022
22513e4
remove std::endl
lwang046 Nov 20, 2022
abb4928
Transfer most of the HGCal TB related geometry file to the new branch…
Nov 21, 2022
60753ba
improved checks, using fstream class and correct types
smorovic Nov 21, 2022
fe387b5
delete unused/commented code
vjmastra Nov 21, 2022
563789b
convert file read check to use ifstream
smorovic Nov 21, 2022
a567ab7
code-format and a few small fixes to exception error messages
smorovic Nov 21, 2022
fb80c07
code format..
smorovic Nov 21, 2022
496fe96
restore a eff vs rapidity plot
vjmastra Nov 21, 2022
9bec91f
Merge branch 'cms-sw:master' into update-bph-dqm-trigger
vjmastra Nov 21, 2022
e52dd9d
short names from matrix_RE.txt
vlimant Nov 22, 2022
97e72df
Optimize local reco validation according to recent needs
fabiocos Nov 22, 2022
d1056c4
Consolidate some testSwitchProducerTask tests
makortel Nov 22, 2022
3759817
Make duplicate branch check work properly with SwitchProducer that ha…
makortel Nov 22, 2022
cbd4461
Update standalone validation cfg to adapt to new default set of plots
fabiocos Nov 23, 2022
357f32c
remove deprecated exists API in favor of fillDescriptions
ferencek Nov 22, 2022
1c1ec6a
JetCorrector migration in DiJetAnalyzer, GammaJetAnalysis
wddgit Nov 23, 2022
caf3cf1
Remove all references to FastTimerDetID which are no longer used in C…
Nov 24, 2022
3f5319c
Remove MonitorElement declaration for suppressed histograms
fabiocos Nov 24, 2022
5868923
Use LFN for EDM files of HLT-Validation and HLT-addon tests
missirol Nov 24, 2022
150e151
addition of WFs with post EE conditions
sunilUIET Nov 24, 2022
49cde6d
HLT menu development for 12_5_X (branch: 13_0_X)
missirol Nov 25, 2022
e651102
Update of L1T menu in TSG GTs to L1Menu_Collisions2022_v1_4_0-d1_xml
missirol Nov 25, 2022
ea6b577
update file access
sroychow Nov 25, 2022
a1d3341
There is no use to fill negative values to log scaled axes, just do n…
lwang046 Nov 25, 2022
6d3e945
logic fix
lwang046 Nov 25, 2022
2f0c19b
Merge pull request #40147 from cms-tsg-storm/devel_hltValEDMInputs
cmsbuild Nov 25, 2022
4791225
Merge pull request #40104 from wddgit/switchAllowTransientDifferences
cmsbuild Nov 25, 2022
168c9f8
Merge pull request #40099 from smorovic/12_6_X-discardls
cmsbuild Nov 25, 2022
efd8199
Merge pull request #40122 from bsunanda/Phase2-hgx330
cmsbuild Nov 25, 2022
0ac586f
change default of "resetPSCountersEachLumiSec" to false in L1T emulator
missirol Nov 25, 2022
0178162
Introduced check for nBlocks = 0 and code formatting
giorgiopizz Nov 25, 2022
f53aee7
Merge pull request #39985 from quark2/GEM-DQMOnlineGE21-12_6_X
cmsbuild Nov 26, 2022
648c223
fix consistency with Run3 WFs
sunilUIET Nov 27, 2022
997e9c7
Move cluster error to weighted mean position error, based on cell size
fabiocos Nov 8, 2022
049e697
Fix name for left/right sample according to DIGI convention
fabiocos Nov 8, 2022
381ae97
Propagate detailed position in BTL crystal to clusters
fabiocos Nov 10, 2022
eb2e7ee
Fix x position clustering, move GlobaPoint to LocalPoint, update debu…
fabiocos Nov 18, 2022
812db3e
Minor technical adjustments
fabiocos Nov 22, 2022
b314558
Comment by M. Nguyen
fabiocos Nov 27, 2022
77c2b5e
Merge pull request #40153 from cms-tsg-storm/HLTdevelopment125X_for130X
cmsbuild Nov 27, 2022
2aca7de
Merge pull request #40151 from sunilUIET/postEE_WFs
cmsbuild Nov 28, 2022
71654b0
Merge pull request #40143 from fabiocos/fc-localrecovalid
cmsbuild Nov 28, 2022
2f470f6
Merge pull request #40113 from sroychow/stripcalibunittest
cmsbuild Nov 28, 2022
33df828
Merge pull request #40135 from CMSTrackerDPG/SiPixelQualityESProducer…
cmsbuild Nov 28, 2022
483e2fe
Merge pull request #40146 from fabiocos/fc-updatecluster
cmsbuild Nov 28, 2022
638d1cf
Merge pull request #40125 from vjmastra/update-bph-dqm-trigger
cmsbuild Nov 28, 2022
ed73fe4
Merge pull request #40058 from yuanchao/from-CMSSW_12_6_0_pre4_HLToff…
cmsbuild Nov 28, 2022
cb3822b
Merge pull request #40072 from abhih1/TTIDPlot_master
cmsbuild Nov 28, 2022
e37c35f
Merge pull request #40107 from dinyar/fix/remove_leftover_ugmt_zs_config
cmsbuild Nov 28, 2022
c8c541c
Add missing dependence on DataFormats/MuonReco
makortel Nov 28, 2022
d6cfe02
Merge pull request #39995 from GPUOfflinePV-CMS/cpu_only_cleanup
cmsbuild Nov 28, 2022
992df75
Merge pull request #40057 from guitargeek/serialization_1
cmsbuild Nov 28, 2022
830c070
Merge pull request #40136 from makortel/fixSwitchEDAliasCheck
cmsbuild Nov 29, 2022
3a25f75
Add debug tools to inverigate shortcomings of V16/V17 geometries of H…
Nov 29, 2022
8fcec7b
Code check
Nov 29, 2022
85b247c
adding hcal2 to rerecoCommon
Nov 29, 2022
f3d1351
move warning about PixelCPEFast from c'tor to produce method of TkTra…
mmusich Nov 29, 2022
6bcc614
supply HeterogeneousCore.CUDAServices.CUDAService_cfi when PixelCPEFa…
mmusich Nov 29, 2022
9916e65
Remove deprecated NoPileUpPFMEtDataProducer
mandrenguyen Nov 29, 2022
13bdb7c
More safe code of Geant4 StackingACtion
civanch Nov 29, 2022
09e30b7
code format
civanch Nov 29, 2022
b2d8a1a
remove MIP FG bit logic from HCAL endcap
Michael-Krohn Nov 28, 2022
48cedc8
Make static const and use array instead of vector
makortel Nov 29, 2022
bc14204
Make static const
makortel Nov 29, 2022
5a1b1c2
Merge pull request #40145 from vlimant/VPSet_4_TriggerObject
cmsbuild Nov 29, 2022
05c2cf8
migrated NanoAODDQM away from consumesMany
swertz Nov 29, 2022
6c507a7
possibility to fill DQM histos with individual bits for bitset-type v…
swertz Nov 29, 2022
5b1d4b7
accept any process name in getterOfProducts
swertz Nov 29, 2022
f652000
Merge pull request #40175 from mandrenguyen/remove_NoPileUpPFMEtDataP…
cmsbuild Nov 30, 2022
bf75702
Merge pull request #40170 from mmusich/CPEFastTrackRefitter_follow-up…
cmsbuild Nov 30, 2022
f34cf1b
specify FS for fastsim workflows
vlimant Nov 30, 2022
184ad3b
add year to 138.[1-5]
vlimant Nov 30, 2022
4f3cf6a
labelling (and fixing) the nano workflows
vlimant Nov 30, 2022
c9ca58d
Merge pull request #39167 from jeongeun/DPGAna_Geo
cmsbuild Nov 30, 2022
da8a3c9
forgot to mark jetID as bitset in DQM
swertz Nov 30, 2022
3d2f8ee
Merge pull request #40144 from bsunanda/Phase2-gex146
cmsbuild Nov 30, 2022
764f526
[CORE] [LLVM14] Apply code checks
smuzaffar Nov 30, 2022
bb47a7c
[HLT] [LLVM14] Apply code checks
smuzaffar Nov 30, 2022
b023788
[XPOG] [LLVM14] Apply code checks
smuzaffar Nov 30, 2022
e519bcc
[ALCA-DB] [LLVM14] Apply code checks
smuzaffar Nov 30, 2022
fb0cfcc
[VISUALIZATION] [LLVM14] Apply code checks
smuzaffar Nov 30, 2022
758134c
[GEOMETRY] [LLVM14] Apply code checks
smuzaffar Nov 30, 2022
df67bca
[L1] [LLVM14] Apply code checks
smuzaffar Nov 30, 2022
ebc080d
[DB] [LLVM14] Apply code checks
smuzaffar Nov 30, 2022
0855064
[ANALYSIS] [LLVM14] Apply code checks
smuzaffar Nov 30, 2022
f7d87a6
[ALCA] [LLVM14] Apply code checks
smuzaffar Nov 30, 2022
22aad11
[ALCA-L1] [LLVM14] Apply code checks
smuzaffar Nov 30, 2022
eabfc56
[DQM-L1] [LLVM14] Apply code checks
smuzaffar Nov 30, 2022
46a5404
[DQM] [LLVM14] Apply code checks
smuzaffar Nov 30, 2022
c89f11b
[SIMULATION] [LLVM14] Apply code checks
smuzaffar Nov 30, 2022
6d435e1
Utilities/StaticAnalyzers: Check for CMS_THREAD_SAFETY or CMS_SA_ALLO…
gartung Nov 30, 2022
e338d28
Merge pull request #38761 from AdrianoDee/tracker_traits_125
cmsbuild Nov 30, 2022
5cfcf76
Code format
gartung Nov 30, 2022
925ed52
Fix for TTRHBuilders with PixelCPEFast
AdrianoDee Nov 30, 2022
9f03fc0
provide a record for cond::BasicPayload
mmusich Nov 30, 2022
90f5a91
Merge pull request #40158 from missirol/devel_l1tResetPSOpt
cmsbuild Nov 30, 2022
579b9b4
Merge pull request #40202 from smuzaffar/hlt-llvm14-code-check
cmsbuild Nov 30, 2022
4c463fc
Merge pull request #40200 from smuzaffar/alca-db-llvm14-code-check
cmsbuild Nov 30, 2022
0cc6517
Merge pull request #40204 from gartung/gartung-SA-const-cast-attr
cmsbuild Nov 30, 2022
095d50b
Merge pull request #40203 from smuzaffar/core-llvm14-code-check
cmsbuild Nov 30, 2022
cd91f7a
apply code format
smuzaffar Nov 30, 2022
7435cb2
apply code format
smuzaffar Nov 30, 2022
e9a96da
apply code format
smuzaffar Nov 30, 2022
1e11634
apply code format
smuzaffar Nov 30, 2022
4eb5f1e
apply code format
smuzaffar Nov 30, 2022
7c6f9b3
apply code format
smuzaffar Nov 30, 2022
691625b
apply code format
smuzaffar Nov 30, 2022
56b01e0
Add one more debug statement
Dec 1, 2022
d27676f
Modify the tolerance a bit
Dec 1, 2022
9cf3c00
Merge pull request #40194 from smuzaffar/analysis-llvm14-code-check
cmsbuild Dec 1, 2022
c0174d5
Merge pull request #40198 from smuzaffar/geometry-llvm14-code-check
cmsbuild Dec 1, 2022
571348a
Merge pull request #40185 from smuzaffar/simulation-llvm14-code-check
cmsbuild Dec 1, 2022
9cb25ec
Merge pull request #40201 from smuzaffar/xpog-llvm14-code-check
cmsbuild Dec 1, 2022
82bcefc
Merge pull request #40206 from AdrianoDee/fix_ttrh_cpefast
cmsbuild Dec 1, 2022
34fd40f
make treatment of Run2 and Run2 more consistent for electron and phot…
swertz Nov 30, 2022
0849f05
propagate to nanoDQM
swertz Nov 30, 2022
63e9205
exclude run2_egamma_2018 modifier from Run3 era
swertz Dec 1, 2022
ab70f3f
make sure photon scale/smearing are only for Run2
swertz Dec 1, 2022
afc3c9c
make sure electron scale/smearing are only for Run2
swertz Dec 1, 2022
ca5af44
one more hcal2 instance
Dec 1, 2022
7fd70f0
update input dataset and fix step
vlimant Nov 30, 2022
fd705f7
remove commented line
vlimant Dec 1, 2022
c469770
remove commented line
vlimant Dec 1, 2022
e0f38a3
Merge pull request #40166 from makortel/fixGEMCSCSegmentBuildFile
cmsbuild Dec 1, 2022
eff0935
use egamma modifier instead
swertz Dec 1, 2022
bfd0254
update pixel bad components in realistic Run-3 MC GTs
saumyaphor4252 Dec 1, 2022
bfdc02e
Merge pull request #40199 from smuzaffar/visualization-llvm14-code-check
cmsbuild Dec 1, 2022
189b0d3
Merge pull request #40180 from civanch/safe_g4_stacking_action
cmsbuild Dec 1, 2022
87c1795
Merge pull request #40169 from swertz/nanoDQM_from-CMSSW_13_0_0_pre1
cmsbuild Dec 1, 2022
3a6af41
Merge pull request #40207 from mmusich/recordForBasicPayload
cmsbuild Dec 1, 2022
d8a49b9
Merge pull request #40195 from smuzaffar/db-llvm14-code-check
cmsbuild Dec 1, 2022
2d9ae37
Merge pull request #39847 from wddgit/dqmJetCorrectorMigration
cmsbuild Dec 2, 2022
997657d
Merge pull request #40193 from smuzaffar/alca-llvm14-code-check
cmsbuild Dec 2, 2022
6988a95
HLT menu development for 12_6_X (branch: 13_0_X)
missirol Dec 2, 2022
56f4af8
small adjustments to DQM, put back photon energyErr
swertz Dec 2, 2022
f44985e
Merge pull request #40186 from smuzaffar/dqm-llvm14-code-check
cmsbuild Dec 2, 2022
cf1c8a9
Merge pull request #40187 from smuzaffar/dqm-l1-llvm14-code-check
cmsbuild Dec 2, 2022
a3ae40e
Merge pull request #40190 from smuzaffar/alca-l1-llvm14-code-check
cmsbuild Dec 2, 2022
a2940fd
Merge pull request #40196 from smuzaffar/l1-llvm14-code-check
cmsbuild Dec 2, 2022
c2606fc
Merge pull request #40165 from Michael-Krohn/remove-MIP-fgBits-from-HE
cmsbuild Dec 2, 2022
0c3cc24
Merge pull request #40172 from abdoulline/hcal2_in_rerecoCommon
cmsbuild Dec 2, 2022
3c74c3c
Merge pull request #40211 from vlimant/update_NANO_matrix_master
cmsbuild Dec 2, 2022
5b124d1
Merge pull request #40117 from lwang046/HcalDQM-GPUTask
cmsbuild Dec 2, 2022
d55584e
Merge pull request #40220 from cms-tsg-storm/HLTdevelopment126X_for130X
cmsbuild Dec 2, 2022
d01a597
Merge pull request #40179 from makortel/fwcoreStatic
cmsbuild Dec 2, 2022
0c5439b
explicitly check the HCAL fine grain bits
Michael-Krohn Dec 2, 2022
4fda108
Merge pull request #40216 from saumyaphor4252/alca-PixelBadComponents…
cmsbuild Dec 2, 2022
12e58f8
Merge pull request #40139 from wddgit/jetCorrectorMigrationCalibratio…
cmsbuild Dec 2, 2022
b22fd3b
Merge pull request #40228 from Michael-Krohn/check-fg-bit-in-LUT
cmsbuild Dec 3, 2022
9cda2fa
Merge pull request #40168 from bsunanda/Phase2-hgx332
cmsbuild Dec 3, 2022
e0b82ef
Merge pull request #40106 from vlimant/runthematrix_shortnames
cmsbuild Dec 3, 2022
12dd0a5
Merge pull request #40209 from swertz/fixErasNanoEGMID_from-CMSSW_13_…
cmsbuild Dec 3, 2022
e479edb
Merge pull request #40181 from guitargeek/deps_1
cmsbuild Dec 3, 2022
e26a7f4
move PATObjectCrossLinker to Event::get, avoid copies in push_back
swertz Oct 31, 2022
288f310
add parameter description to PATObjectCrossLinker
swertz Oct 31, 2022
bbd7773
add boostedTaus to PATObjectCrossLinker
swertz Nov 22, 2022
8d2e04f
add matching between secondary vertices and electrons, muons, jets, taus
swertz Nov 23, 2022
cbc2c2f
add index of matching photon and jet to lowPtElectron
swertz Nov 23, 2022
16edef5
add indices of muon and electron matched to tau
swertz Nov 25, 2022
05c79c9
remove clean mask from default nanoAODs - use indices from matching i…
swertz Nov 25, 2022
a14b5a0
make matching with boostedTaus and vertices optional for nanoV10 back…
swertz Nov 25, 2022
10c3e2d
code format
swertz Nov 27, 2022
818323e
fix for V10 frozen config
swertz Nov 28, 2022
4474227
fix 122X input, boostedTaus don't exist
swertz Nov 28, 2022
d266c95
remove matching between lowPtElectrons and jets - didn't work because…
swertz Nov 29, 2022
3527b19
remove cleanmask from nanoDQM
swertz Nov 29, 2022
cd0cf1b
use event::get everywhere
swertz Nov 30, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions Alignment/CocoaModel/src/EntryMgr.cc
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,8 @@ EntryData* EntryMgr::findEntryByLongName(const ALIstring& optoName, const ALIstr
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
EntryData* EntryMgr::findEntry(const std::vector<ALIstring>& wl) {
EntryData* data = nullptr;
ALIstring optoName = wl[2];
ALIstring entryName = wl[3];
const ALIstring& optoName = wl[2];
const ALIstring& entryName = wl[3];
data = findEntryByLongName(optoName, entryName);

return data;
Expand Down
2 changes: 1 addition & 1 deletion Alignment/CocoaModel/src/Model.cc
Original file line number Diff line number Diff line change
Expand Up @@ -358,7 +358,7 @@ void Model::readSystemDescription() {
std::cerr << "!!!SYSTEM_TREE_DESCRIPTION section: object " << *((*vvscite).begin())
<< " is not hanging from object 'system' " << std::endl;
for (vvscite = OptODictionary().begin(); vvscite != OptODictionary().end(); ++vvscite) {
std::vector<ALIstring> ptemp = *vvscite;
const std::vector<ALIstring>& ptemp = *vvscite;
ALIUtils::dumpVS(ptemp, "OBJECT ", std::cerr);
}
exit(9);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -360,6 +360,10 @@ def getSequence(process, collection,
## put the sequence together ##
###############################

if "Fast" in TTRHBuilder:
print("PixelCPEFast has been chosen, here we must include CUDAService first")
process.load('HeterogeneousCore.CUDAServices.CUDAService_cfi')

modules = []
src = collection
prevsrc = None
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ TkModuleGroupSelector::TkModuleGroupSelector(AlignableTracker *aliTracker,
std::vector<std::string> parameterNames = cfg.getParameterNames();
for (std::vector<std::string>::const_iterator iParam = parameterNames.begin(); iParam != parameterNames.end();
++iParam) {
const std::string name = (*iParam);
const std::string &name = (*iParam);
if (name != "RunRange" && name != "ReferenceRun" && name != "Granularity") {
throw cms::Exception("BadConfig") << "@SUB=TkModuleGroupSelector::TkModuleGroupSelector:"
<< " Unknown parameter name '" << name << "' in PSet. Maybe a typo?";
Expand Down Expand Up @@ -107,7 +107,7 @@ void TkModuleGroupSelector::verifyParameterNames(const edm::ParameterSet &pset,
std::vector<std::string> parameterNames = pset.getParameterNames();
for (std::vector<std::string>::const_iterator iParam = parameterNames.begin(); iParam != parameterNames.end();
++iParam) {
const std::string name = (*iParam);
const std::string &name = (*iParam);
if (name != "levels" && name != "RunRange" && name != "split" && name != "ReferenceRun") {
throw cms::Exception("BadConfig") << "@SUB=TkModuleGroupSelector::verifyParameterNames:"
<< " Unknown parameter name '" << name << "' in PSet number " << psetnr
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1762,7 +1762,7 @@ void AlignmentMonitorMuonResiduals::event(const edm::Event &iEvent,
std::vector<TrajectoryMeasurement> measurements = traj->measurements();

for (std::vector<TrajectoryMeasurement>::const_iterator im = measurements.begin(); im != measurements.end(); ++im) {
const TrajectoryMeasurement meas = *im;
const TrajectoryMeasurement &meas = *im;
const TransientTrackingRecHit *hit = &(*meas.recHit());
const DetId id = hit->geographicalId();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ void AlignmentMonitorTemplate::event(const edm::Event& iEvent,

std::vector<TrajectoryMeasurement> measurements = traj->measurements();
for (std::vector<TrajectoryMeasurement>::const_iterator im = measurements.begin(); im != measurements.end(); ++im) {
const TrajectoryMeasurement meas = *im;
const TrajectoryMeasurement& meas = *im;
const TransientTrackingRecHit* hit = &(*meas.recHit());
const DetId id = hit->geographicalId();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ AlgebraicMatrix CompositeAlignmentParameters::derivativesLegacy(const std::vecto
int ipos = 1;
AlgebraicMatrix selderiv(nparam, 2);
for (std::vector<AlgebraicMatrix>::const_iterator imat = vecderiv.begin(); imat != vecderiv.end(); ++imat) {
AlgebraicMatrix thisselderiv = (*imat);
const AlgebraicMatrix &thisselderiv = (*imat);
int npar = thisselderiv.num_row();
selderiv.sub(ipos, 1, thisselderiv);
ipos += npar;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ void AlignmentMuonHIPTrajectorySelector::produce(edm::Event& iEvent, const edm::
double tracker_dof = 0.;
for (std::vector<TrajectoryMeasurement>::const_iterator im = measurements.begin(); im != measurements.end();
++im) {
const TrajectoryMeasurement meas = *im;
const TrajectoryMeasurement& meas = *im;
auto hit = &(*meas.recHit());
const DetId id = hit->geographicalId();

Expand Down Expand Up @@ -193,7 +193,7 @@ void AlignmentMuonHIPTrajectorySelector::produce(edm::Event& iEvent, const edm::

for (std::vector<TrajectoryMeasurement>::const_iterator im = measurements.begin(); im != measurements.end();
++im) {
const TrajectoryMeasurement meas = *im;
const TrajectoryMeasurement& meas = *im;
auto hit = &(*meas.recHit());
const DetId id = hit->geographicalId();

Expand Down
2 changes: 1 addition & 1 deletion Alignment/LaserAlignment/plugins/TkLasBeamFitter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,7 @@ void TkLasBeamFitter::getLasBeams(TkFittedLasBeam &beam, vector<TrajectoryStateO
for (TkLasBeam::const_iterator iHit = beam.begin(); iHit < beam.end(); ++iHit) {
// iHit is a SiStripLaserRecHit2D

const SiStripLaserRecHit2D hit(*iHit);
const SiStripLaserRecHit2D &hit(*iHit);

this->getLasHits(beam, hit, gd, globHit, hitsAtTecPlus);
sumZ += globHit.back().z();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -490,7 +490,7 @@ void MillePedeAlignmentAlgorithm::run(const edm::EventSetup &setup, const EventI
const auto tracksPerTraj = theTrajectoryFactory->tracksPerTrajectory();
for (auto iRefTraj = trajectories.cbegin(), iRefTrajE = trajectories.cend(); iRefTraj != iRefTrajE;
++iRefTraj, ++refTrajCount) {
RefTrajColl::value_type refTrajPtr = *iRefTraj;
const RefTrajColl::value_type &refTrajPtr = *iRefTraj;
if (theMonitor)
theMonitor->fillRefTrajectory(refTrajPtr);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ MuonResidualsFromTrack::MuonResidualsFromTrack(edm::ESHandle<TransientTrackingRe
if (m_debug)
std::cout << " TrajectoryMeasurement #" << nTrajMeasurement << std::endl;

TrajectoryMeasurement trajMeasurement = *iTrajMeasurement;
const TrajectoryMeasurement& trajMeasurement = *iTrajMeasurement;

TrajectoryStateOnSurface tsos =
m_tsoscomb(trajMeasurement.forwardPredictedState(), trajMeasurement.backwardPredictedState());
Expand Down
2 changes: 1 addition & 1 deletion Alignment/OfflineValidation/plugins/EopElecTreeWriter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -371,7 +371,7 @@ void EopElecTreeWriter::analyze(const edm::Event& iEvent, const edm::EventSetup&
edm::LogError("EopElecTreeWriter") << "Error: no primary vertex found!";
return;
}
reco::Vertex vert = vertex.front();
const reco::Vertex& vert = vertex.front();
h_nEventsWithVertex->Fill(0.5);

// getting calorimeter geometry
Expand Down
2 changes: 1 addition & 1 deletion Alignment/OfflineValidation/plugins/JetHTAnalyzer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ void JetHTAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSe

int counter = 0;
for (reco::VertexCollection::const_iterator pvIt = pvtx.begin(); pvIt != pvtx.end(); pvIt++) {
reco::Vertex iPV = *pvIt;
const reco::Vertex& iPV = *pvIt;
counter++;

if (iPV.isFake())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -423,7 +423,7 @@ void SplitVertexResolution::analyze(const edm::Event& iEvent, const edm::EventSe
int goodcounter = 0;

for (auto pvIt = pvtx.cbegin(); pvIt != pvtx.cend(); ++pvIt) {
reco::Vertex iPV = *pvIt;
const reco::Vertex& iPV = *pvIt;
counter++;
if (iPV.isFake())
continue;
Expand Down
5 changes: 5 additions & 0 deletions CUDADataFormats/Common/interface/HeterogeneousSoA.h
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,11 @@ namespace cms {
return cms::cuda::make_host_unique<T>(stream);
}

template <typename T>
static auto make_unique(size_t size, cudaStream_t stream) {
return cms::cuda::make_host_unique<T>(size, stream);
}

template <typename T>
static auto make_host_unique(cudaStream_t stream) {
return cms::cuda::make_host_unique<T>(stream);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,10 @@
class SiPixelDigisCUDASOAView {
public:
friend class SiPixelDigisCUDA;
friend class SiPixelRecHitSoAFromLegacy;

template <typename TrackerTraits>
friend class SiPixelRecHitSoAFromLegacyT;

enum class StorageLocation {
kCLUS = 0,
kPDIGI = 2,
Expand Down
6 changes: 4 additions & 2 deletions CUDADataFormats/Track/interface/PixelTrackHeterogeneous.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@

#include "CUDADataFormats/Common/interface/HeterogeneousSoA.h"
#include "CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h"
#include "Geometry/CommonTopologies/interface/SimplePixelTopology.h"

using PixelTrackHeterogeneous = HeterogeneousSoA<pixelTrack::TrackSoA>;
template <typename TrackerTraits>
using PixelTrackHeterogeneousT = HeterogeneousSoA<pixelTrack::TrackSoAT<TrackerTraits>>;

#endif // #ifndef CUDADataFormats_Track_PixelTrackHeterogeneous_h
#endif // #ifndef CUDADataFormats_Track_PixelTrackHeterogeneous_h
124 changes: 106 additions & 18 deletions CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,33 +5,38 @@
#include <algorithm>

#include "CUDADataFormats/Track/interface/TrajectoryStateSoAT.h"
#include "Geometry/CommonTopologies/interface/SimplePixelTopology.h"
#include "HeterogeneousCore/CUDAUtilities/interface/HistoContainer.h"

#include "Geometry/CommonTopologies/interface/SimplePixelTopology.h"
#include "CUDADataFormats/Common/interface/HeterogeneousSoA.h"
#include "DataFormats/Common/interface/CMS_CLASS_VERSION.h"

namespace pixelTrack {

enum class Quality : uint8_t { bad = 0, edup, dup, loose, strict, tight, highPurity, notQuality };
constexpr uint32_t qualitySize{uint8_t(Quality::notQuality)};
const std::string qualityName[qualitySize]{"bad", "edup", "dup", "loose", "strict", "tight", "highPurity"};
inline Quality qualityByName(std::string const &name) {
auto qp = std::find(qualityName, qualityName + qualitySize, name) - qualityName;
return static_cast<Quality>(qp);
}

} // namespace pixelTrack

template <int32_t S>
template <typename TrackerTraits>
class TrackSoAHeterogeneousT {
public:
static constexpr int32_t S = TrackerTraits::maxNumberOfTuples;
static constexpr int32_t H = TrackerTraits::maxHitsOnTrack; // Average hits rather than max?
static constexpr int32_t stride() { return S; }

using hindex_type = uint32_t; //TrackerTraits::hindex_type ?

using Quality = pixelTrack::Quality;
using hindex_type = uint32_t;
using HitContainer = cms::cuda::OneToManyAssoc<hindex_type, S + 1, 5 * S>;
using HitContainer = cms::cuda::OneToManyAssoc<hindex_type, S + 1, H * S>;

// Always check quality is at least loose!
// CUDA does not support enums in __lgc ...
private:
protected:
eigenSoA::ScalarSoA<uint8_t, S> quality_;

public:
Expand All @@ -56,9 +61,9 @@ class TrackSoAHeterogeneousT {
// layers are in order and we assume tracks are either forward or backward
auto pdet = detIndices.begin(i);
int nl = 1;
auto ol = phase1PixelTopology::getLayer(*pdet);
auto ol = pixelTopology::getLayer<TrackerTraits>(*pdet);
for (; pdet < detIndices.end(i); ++pdet) {
auto il = phase1PixelTopology::getLayer(*pdet);
auto il = pixelTopology::getLayer<TrackerTraits>(*pdet);
if (il != ol)
++nl;
ol = il;
Expand Down Expand Up @@ -90,17 +95,100 @@ class TrackSoAHeterogeneousT {

namespace pixelTrack {

#ifdef GPU_SMALL_EVENTS
// kept for testing and debugging
constexpr uint32_t maxNumber() { return 2 * 1024; }
#else
// tested on MC events with 55-75 pileup events
constexpr uint32_t maxNumber() { return 32 * 1024; }
#endif
template <typename TrackerTraits>
using TrackSoAT = TrackSoAHeterogeneousT<TrackerTraits>;

template <typename TrackerTraits>
using HitContainerT = typename TrackSoAHeterogeneousT<TrackerTraits>::HitContainer;

//Used only to ease classes definitions
using TrackSoAPhase1 = TrackSoAHeterogeneousT<pixelTopology::Phase1>;
using TrackSoAPhase2 = TrackSoAHeterogeneousT<pixelTopology::Phase2>;

template <typename TrackerTraits, typename Enable = void>
struct QualityCutsT {};

template <typename TrackerTraits>
struct QualityCutsT<TrackerTraits, pixelTopology::isPhase1Topology<TrackerTraits>> {
// chi2 cut = chi2Scale * (chi2Coeff[0] + pT/GeV * (chi2Coeff[1] + pT/GeV * (chi2Coeff[2] + pT/GeV * chi2Coeff[3])))
float chi2Coeff[4];
float chi2MaxPt; // GeV
float chi2Scale;

struct Region {
float maxTip; // cm
float minPt; // GeV
float maxZip; // cm
};

Region triplet;
Region quadruplet;

__device__ __forceinline__ bool isHP(TrackSoAHeterogeneousT<TrackerTraits> const *__restrict__ tracks,
int nHits,
int it) const {
// impose "region cuts" based on the fit results (phi, Tip, pt, cotan(theta)), Zip)
// default cuts:
// - for triplets: |Tip| < 0.3 cm, pT > 0.5 GeV, |Zip| < 12.0 cm
// - for quadruplets: |Tip| < 0.5 cm, pT > 0.3 GeV, |Zip| < 12.0 cm
// (see CAHitNtupletGeneratorGPU.cc)
auto const &region = (nHits > 3) ? quadruplet : triplet;
return (std::abs(tracks->tip(it)) < region.maxTip) and (tracks->pt(it) > region.minPt) and
(std::abs(tracks->zip(it)) < region.maxZip);
}

using TrackSoA = TrackSoAHeterogeneousT<maxNumber()>;
using TrajectoryState = TrajectoryStateSoAT<maxNumber()>;
using HitContainer = TrackSoA::HitContainer;
__device__ __forceinline__ bool strictCut(TrackSoAHeterogeneousT<TrackerTraits> const *__restrict__ tracks,
int it) const {
auto roughLog = [](float x) {
// max diff [0.5,12] at 1.25 0.16143
// average diff 0.0662998
union IF {
uint32_t i;
float f;
};
IF z;
z.f = x;
uint32_t lsb = 1 < 21;
z.i += lsb;
z.i >>= 21;
auto f = z.i & 3;
int ex = int(z.i >> 2) - 127;

// log2(1+0.25*f)
// averaged over bins
const float frac[4] = {0.160497f, 0.452172f, 0.694562f, 0.901964f};
return float(ex) + frac[f];
};

float pt = std::min<float>(tracks->pt(it), chi2MaxPt);
float chi2Cut = chi2Scale * (chi2Coeff[0] + roughLog(pt) * chi2Coeff[1]);
if (tracks->chi2(it) >= chi2Cut) {
#ifdef NTUPLE_FIT_DEBUG
printf("Bad chi2 %d pt %f eta %f chi2 %f\n", it, tracks->pt(it), tracks->eta(it), tracks->chi2(it));
#endif
return true;
}
return false;
}
};

template <typename TrackerTraits>
struct QualityCutsT<TrackerTraits, pixelTopology::isPhase2Topology<TrackerTraits>> {
float maxChi2;
float minPt;
float maxTip;
float maxZip;

__device__ __forceinline__ bool isHP(TrackSoAHeterogeneousT<TrackerTraits> const *__restrict__ tracks,
int nHits,
int it) const {
return (std::abs(tracks->tip(it)) < maxTip) and (tracks->pt(it) > minPt) and (std::abs(tracks->zip(it)) < maxZip);
}
__device__ __forceinline__ bool strictCut(TrackSoAHeterogeneousT<TrackerTraits> const *__restrict__ tracks,
int it) const {
return tracks->chi2(it) >= maxChi2;
}
};

} // namespace pixelTrack

Expand Down
17 changes: 13 additions & 4 deletions CUDADataFormats/Track/src/classes_def.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
<lcgdict>
<class name="cms::cuda::Product<HeterogeneousSoA<pixelTrack::TrackSoA>>" persistent="false"/>
<class name="edm::Wrapper<cms::cuda::Product<HeterogeneousSoA<pixelTrack::TrackSoA>>>" persistent="false"/>
<class name="HeterogeneousSoA<pixelTrack::TrackSoA>" persistent="false"/>
<class name="edm::Wrapper<HeterogeneousSoA<pixelTrack::TrackSoA>>" persistent="false"/>

<class name="pixelTrack::TrackSoAPhase1" persistent="false"/>
<class name="edm::Wrapper<HeterogeneousSoA<pixelTrack::TrackSoAPhase1>>" persistent="false" />
<class name="cms::cuda::Product<HeterogeneousSoA<pixelTrack::TrackSoAPhase1>>" persistent="false"/>
<class name="edm::Wrapper<cms::cuda::Product<HeterogeneousSoA<pixelTrack::TrackSoAPhase1>>>" persistent="false"/>
<class name="HeterogeneousSoA<pixelTrack::TrackSoAPhase1>" persistent="false" />

<class name="pixelTrack::TrackSoAPhase2" persistent="false"/>
<class name="edm::Wrapper<HeterogeneousSoA<pixelTrack::TrackSoAPhase2>>" persistent="false" />
<class name="cms::cuda::Product<HeterogeneousSoA<pixelTrack::TrackSoAPhase2>>" persistent="false"/>
<class name="edm::Wrapper<cms::cuda::Product<HeterogeneousSoA<pixelTrack::TrackSoAPhase2>>>" persistent="false"/>
<class name="HeterogeneousSoA<pixelTrack::TrackSoAPhase2>" persistent="false" />

</lcgdict>