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
PPS reco patch for bad pot #38553
PPS reco patch for bad pot #38553
Conversation
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-38553/30790
|
A new Pull Request was created by @fabferro (Fabrizio Ferro) for master. It involves the following packages:
@jpata, @cmsbuild, @clacaputo can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
@cmsbuild please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4812b5/25906/summary.html Comparison SummarySummary:
|
@cmsbuild enable profiling |
@cmsbuild please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4812b5/25913/summary.html Comparison SummarySummary:
|
Profiling seems not to have run. Does it have something to do with the PR still being in draft mode? Perhaps it can be removed? |
Pull request #38553 was updated. @emanueleusai, @ahmad3213, @cmsbuild, @jfernan2, @clacaputo, @jpata, @pmandrik, @micsucmed, @rvenditti can you please check and sign again. |
@fabferro , in general, the best practice is to not customize the code to read a specific tag as we might run into trouble in the future. The best way to proceed with this analysis mask tag would be to: then we can include it in the GTs. |
@clacaputo I profiled workflow 136.793 with the PR in and PPS code enabled. Following the instructions in the twiki page I produced the results for cpu and memory usage. They are /afs/cern.ch/work/f/fabferro/public/badPot/profiling/newCode/ig.sql3 and /afs/cern.ch/work/f/fabferro/public/badPot/profiling/newCode/ig.1.sql3. I assume you can read the info inside. |
@cmsbuild please test |
@fabferro thanks for the profiling files; I've found nothing suspicious. As soon as the test ends, I can sing the pr |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR is not under alca
, but I wanted to make sure that the record is consumed correctly when it will be provided from the GT. So by reading the code I have these comments, given the urgency of the PR, maybe these could be addressed in a follow-up PR?
@@ -58,13 +67,16 @@ class CTPPSPixelLocalTrackProducer : public edm::stream::EDProducer<> { | |||
edm::EDGetTokenT<edm::DetSetVector<CTPPSPixelRecHit>> tokenCTPPSPixelRecHit_; | |||
edm::ESGetToken<CTPPSGeometry, VeryForwardRealGeometryRecord> tokenCTPPSGeometry_; | |||
edm::ESWatcher<VeryForwardRealGeometryRecord> geometryWatcher_; | |||
|
|||
edm::ESGetToken<CTPPSPixelAnalysisMask, CTPPSPixelAnalysisMaskRcd> tokenCTPPSPixelAnalysisMask_; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could be const
uint32_t numberOfPlanesPerPot_; | ||
std::vector<uint32_t> listOfAllPlanes_; | ||
|
||
std::unique_ptr<RPixDetPatternFinder> patternFinder_; | ||
std::unique_ptr<RPixDetTrackFinder> trackFinder_; | ||
|
||
void run(const edm::DetSetVector<CTPPSPixelRecHit> &input, edm::DetSetVector<CTPPSPixelLocalTrack> &output); | ||
// void run(const edm::DetSetVector<CTPPSPixelRecHit> &input, edm::DetSetVector<CTPPSPixelLocalTrack> &output); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Delete unused code
tokenCTPPSPixelRecHit_ = consumes<edm::DetSetVector<CTPPSPixelRecHit>>(inputTag_); | ||
tokenCTPPSGeometry_ = esConsumes<CTPPSGeometry, VeryForwardRealGeometryRecord>(); | ||
tokenCTPPSPixelAnalysisMask_ = esConsumes<CTPPSPixelAnalysisMask, CTPPSPixelAnalysisMaskRcd>(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
all these should be moved to the constructor
@@ -143,6 +156,9 @@ void CTPPSPixelLocalTrackProducer::fillDescriptions(edm::ConfigurationDescriptio | |||
desc.add<double>("roadRadius", 1.0)->setComment("radius of pattern search window"); | |||
desc.add<int>("minRoadSize", 3)->setComment("minimum number of points in a pattern"); | |||
desc.add<int>("maxRoadSize", 20)->setComment("maximum number of points in a pattern"); | |||
//parameters for bad pot reconstruction patch 45-220-fr 2022 | |||
desc.add<double>("roadRadiusBadPot", 0.5)->setComment("radius of pattern search window for bad Pot"); | |||
// desc.add<bool>("isBadPot", true)->setComment("flag to enable road search for bad pot"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
delete
#from Configuration.Eras.Modifier_ctpps_2016_cff import ctpps_2016 | ||
#from Configuration.Eras.Modifier_ctpps_2017_cff import ctpps_2017 | ||
#from Configuration.Eras.Modifier_ctpps_2018_cff import ctpps_2018 | ||
#(ctpps_2016 | ctpps_2017 | ctpps_2018).toModify(ctppsPixelLocalTracks, isBadPot = cms.bool(False)) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
delete
@@ -31,6 +20,8 @@ RPixRoadFinder::RPixRoadFinder(edm::ParameterSet const& parameterSet) : RPixDetP | |||
roadRadius_ = parameterSet.getParameter<double>("roadRadius"); | |||
minRoadSize_ = parameterSet.getParameter<int>("minRoadSize"); | |||
maxRoadSize_ = parameterSet.getParameter<int>("maxRoadSize"); | |||
roadRadiusBadPot_ = parameterSet.getParameter<double>("roadRadiusBadPot"); | |||
// isBadPot_ = parameterSet.getParameter<bool>("isBadPot"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
del
process.PoolDBESSource = cms.ESSource("PoolDBESSource", | ||
process.CondDB, | ||
toGet = cms.VPSet(cms.PSet( | ||
record = cms.string('CTPPSPixelAnalysisMaskRcd'), | ||
tag = cms.string("CTPPSPixelAnalysisMask_Run3_v1_hlt") | ||
)) | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is fine for a test, but in the end the record will be provided from the GT, so this will be unnecessary
@tvami I perfectly agree with your comments, I left the code as it is to clarify the change of strategy during the discussion with the reviewers. As you say I hope this PR can go in as it is and the changes you suggest be implemented right after. |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4812b5/26199/summary.html Comparison SummarySummary:
|
+reconstruction
|
|
||
private: | ||
int verbosity_; | ||
double roadRadius_; | ||
unsigned int minRoadSize_; | ||
unsigned int maxRoadSize_; | ||
double roadRadiusBadPot_; | ||
// bool isBadPot_; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This also should be deleted, if not needed
+1
|
I did not notice it still misses the @cms-sw/dqm-l2 signature |
+dqm
|
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will be automatically merged. |
PR description:
This PR provides a patch to be able to produce tracks inside PPS roman pot 45-220-fr that has only 2 planes working out of 6 (as to the current date). The code creates tracks using two hits (one per plane) drawing a straight line between them. The track is required to be isolated and horizontal. The goal is to recover at least some proton tracks for alignment/debugging purposes.
The patch is enabled by means of a runtime flag. Run2 processes are protected via Era mechanism.
PR validation:
Run2 data show no difference. Preliminary run3 data show recovered tracks as expected.
This PR will have to be backported to 12_4 and 12_3
@jpata @grzanka @AndreaBellora