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
Updating E/gamma supercluster/ecal candidate filtering tools to allow future jetcore seeding by e/gamma #21818
Conversation
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-21818/2815 |
A new Pull Request was created by @Sam-Harper for master. It involves the following packages: RecoEgamma/EgammaHLTProducers @perrotta, @cmsbuild, @silviodonato, @slava77, @Martin-Grunewald, @fwyzard can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
The tests are being triggered in jenkins. |
@Sam-Harper I'm not sure which machine you were using for tests. It could be that a single thread test will give more stable timing and will also allow easily to skip the first event contribution as well. |
Comparison job queued. |
Comparison is ready @slava77 comparisons for the following workflows were not done due to missing matrix map:
Comparison Summary:
|
@slava77 , okay will run on some JetHET and DoubleEG data, I'll pick a suitable lumi leveled period. Will get it done asap, should by the end of the day. And I'll run the jobs single threaded. I'm running on the local RAL machines as its easier, is there a particular benchmark machine you would like me to run on instead (eg like the HLT runs on vocms003/004.) |
On 1/10/18 1:21 AM, Sam-Harper wrote:
@slava77 <https://github.com/slava77> , okay will run on some JetHET and
DoubleEG data, I'll pick a suitable lumi leveled period. Will get it
done asap, should by the end of the day. And I'll run the jobs single
threaded. I'm running on the local RAL machines as its easier, is there
a particular benchmark machine you would like me to run on instead (eg
like the HLT runs on vocms003/004.)
I do not have a machine to suggest.
A local machine that you are using may be good enough especially if it's
utilization is somewhat stable during the test execution.
…
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#21818 (comment)>, or
mute the thread
<https://github.com/notifications/unsubscribe-auth/AEdcbsJjFlNOzz5Vf0ym42bz74YCZAg3ks5tJIEKgaJpZM4RYLJK>.
|
+1 |
+1 |
+1
@Sam-Harper |
+1 |
@fabiocos : this PR still misses the Analysis signature. If you want to merge and bypass that signature I think you must write "merge" explicitly |
merge |
@Sam-Harper
|
oh joy, thanks @Martin-Grunewald. Will update it to be typedef but later today not now. |
Umm, |
Agreed... |
(or, for language lawyers, if not exactly equivalent, functionally equivalent for this case) |
thats what I thought, and I thought one should always use using in preference to typedef now. So very odd, will look into it later, no time right now |
Indeed, |
Uhmm OK, I see two, EgammaHLTFilteredEcalCandPtrProducer and EgammaHLTFilteredEcalCandProducer, with generated cfi files
but the third is still missing... |
So I addpkg the package and re-compile it. When it gets to this step, it seems to generate all three:
but then in the cfi directory, only two are available:
Maybe the third is lost due to its overly long name? @wddgit @Dr15Jones |
I suspect the problem with the third one is that the module label becomes @Sam-Harper Easiest way to get shorter auto-generated name would be to use
instead of
in I'll also take a look why |
Yep, I've already been using that happily in other modules, its a much appreciated change! |
It didn't complain because there was no check whether opening the file for writing succeeded or not. I'll add a check and make a PR (and then we'll see how many things break). |
#22625 fixed the plugin with |
#22626 adds a check for file open errors to |
Dear All,
The PR allows the jet core regional tracking to be seeded by E/gamma objects, specifically superclusters with Et> 20 GeV and H/E <0.2.
Currently jet core regional tracking is seeded by 100 GeV CaloJets. This causes problems for E/gamma as electrons/photons will also be reconstructed as 100 GeV CaloJets and so causes the track isolation defination to change at 100 GeV which has caused problems in the past. It also means that the variable which is studied and validated at the Z peak is different to the variable used at high pt which is far from ideal. Therefore we now run this in the region for all e/gamma objects.
A pleasant bonus is that it is likely that this will improve the performance of tracker based isolation for e/gamma. It was shown slightly over a year ago that this is true for high energy electrons so could be true for < 100 GeV electrons too https://indico.cern.ch/event/491518/contributions/2363233/attachments/1367167/2071567/trkIsolHEEP_EGMIDV2.pdf (slides 12-14, compare the black line with the dotted black line).
Unfortunately E/gamma gave me some erroneous information then that jet core regional was being removed in 2017 otherwise this PR would have happened last year...
This PR leverages RecoEcalCandidates to convert superclusters into something inheriting from candidates, using existing well established HLT code. Not to re-invent the wheel, I reused EgammaHLTFilteredSuperClusterProducer to filter the RecoEcalCandidates. This mean I had to turn it into a generic templated class EgammaHLTFilteredObjProducer and then have instances of that to produce a std::vector of edm::Ptrs.
I then combine the selected jets (which are a collection of edm::Ptrreco::Candidate with the selected e/gammas using a new class CandidateCombiner to make a new collection egammaAndJetsForCoreTracking which seeds the tracking regions. The jets and e/gammas are loosely dR cleaned (ie they have tightish dR match) with e/gammas eta/phi being preferred.
Validation:
In CMSSW_10_0_0_pre3 I re-recoed a file from /RelValTTbar_13/CMSSW_10_0_0_pre3-PU25ns_100X_upgrade2018_realistic_v4_mahiOFF-v1/GEN-SIM-DIGI-RAW (/store/relval/CMSSW_10_0_0_pre3/RelValTTbar_13/GEN-SIM-DIGI-RAW/PU25ns_100X_upgrade2018_realistic_v4_mahiOFF-v1/20000/048FD543-85E9-E711-8FC9-0CC47A78A414.root, 500 events)
with the cmsDriver recoTiming.py step3 --conditions auto:phase1_2018_realistic -n 10 --era Run2_2018 --customise_commands process.hbheprereco.algorithm.useMahi = cms.bool(False) \n process.hbheprereco.algorithm.useM2 = cms.bool(True) \n --runUnscheduled -s RAW2DIGI,L1Reco,RECO,RECOSIM,EI,PAT --datatier GEN-SIM-RECO,MINIAODSIM --eventcontent RECOSIM,MINIAODSIM --geometry DB:Extended --no_exec --filein file:step2.root --fileout file:step3.root --nThreads 4 --no_exec
with both this PR and clean CMSSW_10_0_0_pre3:
default pre3 seconds per event: 16.99 , 17.20, 16.93, 17.47
with this PR: 17.47, 17.13, 17.49, 16.99.
Looking at detail for the output comparing the fastest "default" one and the slowest one with this pr:
Couldn't parse time report using CPU and wall-clock format: trying Wall-clock only
delta/mean delta/orJob original new module name
+1.971550 +0.47% 0.58 ms/ev -> 80.41 ms/ev dt1DRecHits
+1.969100 +0.54% 0.72 ms/ev -> 92.23 ms/ev l1extraParticles
+1.955702 +0.05% 0.09 ms/ev -> 8.39 ms/ev dt1DCosmicRecHits
+1.944751 +0.05% 0.12 ms/ev -> 8.57 ms/ev castorreco
-1.909900 -0.02% 3.51 ms/ev -> 0.08 ms/ev jetsForCoreTrackingPreSplitting
+1.907162 +0.03% 0.11 ms/ev -> 4.42 ms/ev gtDigis
-1.891304 -0.02% 3.40 ms/ev -> 0.10 ms/ev jetsForCoreTracking
-1.812378 -0.22% 39.18 ms/ev -> 1.93 ms/ev siStripZeroSuppression
+1.808692 +0.52% 4.63 ms/ev -> 92.22 ms/ev ecalPreshowerRecHit
+1.793510 +0.00% 0.03 ms/ev -> 0.64 ms/ev offlineBeamSpot
-1.773824 -0.03% 4.77 ms/ev -> 0.29 ms/ev totemRPRawToDigi
-1.738878 -0.01% 1.93 ms/ev -> 0.14 ms/ev corrPfMetType1Puppi
+1.709287 +0.15% 2.10 ms/ev -> 26.82 ms/ev displacedGlobalMuons
-1.665399 -0.01% 2.41 ms/ev -> 0.22 ms/ev caloJetMap
-1.623188 -0.02% 3.38 ms/ev -> 0.35 ms/ev corrPfMetType1NoHF
-1.571429 -0.00% 0.07 ms/ev -> 0.01 ms/ev ak4PFCHSL3AbsoluteCorrector
+1.527711 +0.00% 0.05 ms/ev -> 0.37 ms/ev ak4PFCHSL2RelativeCorrector
+1.514061 +0.00% 0.11 ms/ev -> 0.78 ms/ev ak4PFPuppiResidualCorrector
+1.481481 +0.00% 0.03 ms/ev -> 0.19 ms/ev hpsPFTauDiscriminationByMVA6VTightElectronRejection
+1.445545 +0.00% 0.03 ms/ev -> 0.17 ms/ev hpsPFTauDiscriminationByMVA6MediumElectronRejection
+1.440242 +0.01% 0.18 ms/ev -> 1.14 ms/ev patJetCorrFactorsAK8
+1.391304 +0.00% 0.03 ms/ev -> 0.16 ms/ev hpsPFTauDiscriminationByMVA6TightElectronRejection
-1.384111 -0.00% 1.03 ms/ev -> 0.19 ms/ev pfCombinedSecondaryVertexV2BJetTagsAK8Puppi
+1.328467 +0.00% 0.02 ms/ev -> 0.11 ms/ev hpsPFTauDiscriminationByLooseIsolationMVArun2v1PWdR03oldDMwLT
+1.318386 +0.00% 0.04 ms/ev -> 0.18 ms/ev hpsPFTauDiscriminationByMVA6VLooseElectronRejection
-1.283105 -0.00% 0.72 ms/ev -> 0.16 ms/ev patPFMetT1T2CorrNoHF
-1.268855 -0.02% 4.60 ms/ev -> 1.03 ms/ev ctppsPixelLocalTracks
+1.225251 +0.00% 0.14 ms/ev -> 0.56 ms/ev castorDigis
-1.208270 -0.01% 2.64 ms/ev -> 0.65 ms/ev muonSeededSeedsOutInDisplaced
+1.164694 +0.14% 8.45 ms/ev -> 32.02 ms/ev gedPhotons
+1.140787 +0.01% 0.68 ms/ev -> 2.49 ms/ev initialStepSeedLayersPreSplitting
+1.112903 +0.00% 0.11 ms/ev -> 0.39 ms/ev patJetCorrFactorsAK8Puppi
+1.102111 +0.15% 10.43 ms/ev -> 36.04 ms/ev globalMuons
+1.080904 +0.02% 1.19 ms/ev -> 3.99 ms/ev pfCombinedSecondaryVertexV2BJetTags
-1.077056 -0.01% 1.79 ms/ev -> 0.54 ms/ev corrPfMetType1
+1.045872 +0.00% 0.23 ms/ev -> 0.75 ms/ev softPFMuonBJetTags
-1.030189 -0.00% 0.80 ms/ev -> 0.26 ms/ev patPFMetT1T2Corr
+0.991511 +0.00% 0.30 ms/ev -> 0.88 ms/ev pfBoostedDoubleSecondaryVertexAK8BJetTagsAK8Puppi
-0.966956 -0.02% 4.02 ms/ev -> 1.40 ms/ev muonSeededSeedsInOut
-0.953405 -0.01% 3.30 ms/ev -> 1.17 ms/ev pfCombinedCvsLJetTagsPuppi
-0.951872 -0.16% 42.15 ms/ev -> 14.97 ms/ev csc2DRecHits
+0.937513 +0.01% 1.27 ms/ev -> 3.51 ms/ev MeasurementTrackerEventPreSplitting
-0.930900 -0.00% 1.12 ms/ev -> 0.41 ms/ev basicJetsForMetPuppi
-0.785068 -0.00% 1.23 ms/ev -> 0.54 ms/ev basicJetsForMetNoHF
+0.750000 +0.00% 0.38 ms/ev -> 0.84 ms/ev hpsPFTauDiscriminationByMVA6rawElectronRejection
-0.745278 -0.01% 2.69 ms/ev -> 1.23 ms/ev QGTagger
+0.708428 +0.05% 8.10 ms/ev -> 16.99 ms/ev pfCombinedCvsLJetTags
-0.697828 -0.01% 3.26 ms/ev -> 1.57 ms/ev basicJetsForMet
-0.653978 -0.01% 1.74 ms/ev -> 0.88 ms/ev pfCombinedCvsBJetTagsPuppi
+0.625937 +0.00% 0.60 ms/ev -> 1.14 ms/ev jetCoreRegionalStep
-0.613397 -0.01% 2.17 ms/ev -> 1.15 ms/ev patSmearedJets
-0.559363 -0.00% 1.61 ms/ev -> 0.90 ms/ev oniaPhotonCandidates
-0.505392 -0.01% 2.15 ms/ev -> 1.28 ms/ev shiftedPatJetResUp
+0.492910 +0.00% 0.56 ms/ev -> 0.92 ms/ev jetCoreRegionalStepHitDoublets
-0.466454 -0.00% 1.54 ms/ev -> 0.96 ms/ev shiftedPatJetResUpNoHF
-0.464340 -0.00% 0.81 ms/ev -> 0.51 ms/ev muonSeededSeedsOutIn
+0.446649 +0.02% 6.73 ms/ev -> 10.61 ms/ev hcalDigis
-0.444502 -0.01% 4.76 ms/ev -> 3.03 ms/ev CHSCands
+0.436803 +0.00% 0.84 ms/ev -> 1.31 ms/ev hpsPFTauDiscriminationByIsolationMVArun2v1PWnewDMwLTraw
-0.430425 -0.00% 1.36 ms/ev -> 0.88 ms/ev patSmearedJetsNoHF
+0.418327 +0.00% 0.79 ms/ev -> 1.21 ms/ev hpsPFTauDiscriminationByIsolationMVArun2v1PWdR03oldDMwLTraw
+0.390480 +0.01% 3.42 ms/ev -> 5.07 ms/ev jetCoreRegionalStepTracks
-0.381050 -0.01% 4.05 ms/ev -> 2.75 ms/ev cosmicDCSeeds
+0.364011 +0.01% 2.58 ms/ev -> 3.73 ms/ev pfGhostTrackBJetTags
+0.343741 +0.37% 151.63 ms/ev -> 214.57 ms/ev jetCoreRegionalStepTrackCandidates
-0.338765 -0.00% 1.18 ms/ev -> 0.84 ms/ev shiftedPatSmearedJetResUpNoHF
+0.333570 +0.01% 5.87 ms/ev -> 8.21 ms/ev pfCombinedCvsBJetTags
-0.312187 -0.01% 6.69 ms/ev -> 4.88 ms/ev patPFMet
+0.302409 +0.00% 0.83 ms/ev -> 1.12 ms/ev hpsPFTauDiscriminationByIsolationMVArun2v1DBdR03oldDMwLTraw
+0.294889 +0.04% 17.39 ms/ev -> 23.40 ms/ev initialStepHitQuadrupletsPreSplitting
-0.285942 -0.00% 1.43 ms/ev -> 1.07 ms/ev shiftedPatJetResDown
+0.268191 +0.01% 3.11 ms/ev -> 4.07 ms/ev pfCombinedMVAV2BJetTags
+0.239212 +0.01% 7.51 ms/ev -> 9.55 ms/ev siPixelDigis
-0.237168 -0.00% 0.63 ms/ev -> 0.50 ms/ev interestingGedEleIsoDetIdEE
-0.232258 -0.00% 1.04 ms/ev -> 0.82 ms/ev shiftedPatSmearedJetResDownNoHF
-0.216127 -0.01% 6.38 ms/ev -> 5.14 ms/ev patMETs
+0.202348 +0.00% 0.80 ms/ev -> 0.98 ms/ev hpsPFTauDiscriminationByIsolationMVArun2v1PWoldDMwLTraw
+0.202279 +0.00% 0.63 ms/ev -> 0.77 ms/ev tripletElectronSeedLayers
-0.158194 -0.02% 18.79 ms/ev -> 16.03 ms/ev initialStepSeedsPreSplitting
+0.143703 +0.07% 73.33 ms/ev -> 84.69 ms/ev ecalMultiFitUncalibRecHit
+0.142177 +0.02% 19.90 ms/ev -> 22.95 ms/ev CSCHaloData
+0.115197 +0.01% 12.67 ms/ev -> 14.22 ms/ev standAloneMuons
+0.114189 +0.01% 11.42 ms/ev -> 12.80 ms/ev particleFlowClusterOOTECAL
+0.108277 +0.01% 11.23 ms/ev -> 12.52 ms/ev particleFlowClusterECAL
+0.101760 +0.01% 13.35 ms/ev -> 14.78 ms/ev siPixelClusters
+0.089352 +0.02% 31.98 ms/ev -> 34.97 ms/ev trackVertexArbitrator
+0.089106 +0.00% 7.34 ms/ev -> 8.03 ms/ev muonCSCDigis
+0.086487 +0.01% 25.14 ms/ev -> 27.42 ms/ev generalV0Candidates
+0.082014 +0.44% 864.36 ms/ev -> 938.28 ms/ev hbheprereco
+0.063157 +0.19% 496.49 ms/ev -> 528.87 ms/ev initialStepTrackCandidatesPreSplitting
+0.060664 +0.03% 93.83 ms/ev -> 99.70 ms/ev siPixelClustersPreSplitting
+0.059434 +0.01% 36.81 ms/ev -> 39.07 ms/ev candidateVertexArbitrator
+0.058152 +0.02% 48.39 ms/ev -> 51.28 ms/ev candidateVertexArbitratorCvsL
+0.050909 +0.00% 5.76 ms/ev -> 6.06 ms/ev detachedQuadStep
Job total: 16.9326 s/ev ==> 17.4926 s/ev
the time increase is due to completely unrelated modules which this PR can not effect, eg hbheprereco, ecalPreshowerRecHit
Looking at the relavent module, the main driver of actual changes are jetCoreRegionalStepTrackCandidates which does from 153.5,153.2, 152.23,151.6 -> 210.5, 207.4, 206.4, 214.6 so a 0.35% increase.
In general we get at most one or two extra tracks every so often so no diskspace concerns.