-
Notifications
You must be signed in to change notification settings - Fork 4.6k
update deepCore for Run3 #33531
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
update deepCore for Run3 #33531
Changes from 5 commits
04bd05d
d399010
e5937d9
559373f
3b2d35c
2d8ced9
0fbf16e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||
|---|---|---|---|---|
|
|
@@ -7,7 +7,10 @@ | |||
| # This step runs over all clusters | ||||
|
|
||||
| # run only if there are high pT jets | ||||
| jetsForCoreTracking = cms.EDFilter('CandPtrSelector', src = cms.InputTag('ak4CaloJetsForTrk'), cut = cms.string('pt > 100 && abs(eta) < 2.5')) | ||||
| jetsForCoreTracking = cms.EDFilter('CandPtrSelector', src = cms.InputTag('ak4CaloJetsForTrk'), cut = cms.string('pt > 100 && abs(eta) < 2.5'), filter = cms.bool(False)) | ||||
|
|
||||
| jetsForCoreTrackingBarrel = jetsForCoreTracking.clone( cut = 'pt > 100 && abs(eta) < 2.5' ) | ||||
| jetsForCoreTrackingEndcap = jetsForCoreTracking.clone( cut = 'pt > 100 && abs(eta) > 1.4 && abs(eta) < 2.5' ) | ||||
|
|
||||
| # care only at tracks from main PV | ||||
| firstStepGoodPrimaryVertices = cms.EDFilter('PrimaryVertexObjectFilter', | ||||
|
|
@@ -73,6 +76,9 @@ | |||
| vertexSrc = 'firstStepGoodPrimaryVertices', | ||||
| howToUseMeasurementTracker = 'Never' | ||||
| )) | ||||
| jetCoreRegionalStepEndcapTrackingRegions = jetCoreRegionalStepTrackingRegions.clone(RegionPSet=dict( | ||||
| JetSrc = 'jetsForCoreTrackingEndcap', | ||||
| )) | ||||
|
|
||||
| # Seeding | ||||
| from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer | ||||
|
|
@@ -82,11 +88,24 @@ | |||
| produceSeedingHitSets = True, | ||||
| maxElementTotal = 12000000, | ||||
| ) | ||||
| jetCoreRegionalStepEndcapHitDoublets = jetCoreRegionalStepHitDoublets.clone( | ||||
| trackingRegions = 'jetCoreRegionalStepEndcapTrackingRegions', | ||||
| ) | ||||
|
|
||||
| from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer | ||||
| jetCoreRegionalStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( | ||||
| seedingHitSets = 'jetCoreRegionalStepHitDoublets', | ||||
| forceKinematicWithRegionDirection = True | ||||
| ) | ||||
| import RecoTracker.TkSeedGenerator.deepCoreSeedGenerator_cfi | ||||
| jetCoreRegionalStepSeedsBarrel = RecoTracker.TkSeedGenerator.deepCoreSeedGenerator_cfi.deepCoreSeedGenerator.clone(#to run MCtruthSeedGenerator clone here from Validation.RecoTrack | ||||
| vertices = "firstStepPrimaryVertices", | ||||
| cores = "jetsForCoreTrackingBarrel" | ||||
| ) | ||||
|
|
||||
| jetCoreRegionalStepSeedsEndcap = jetCoreRegionalStepSeeds.clone( | ||||
| seedingHitSets = 'jetCoreRegionalStepEndcapHitDoublets', | ||||
| ) | ||||
|
|
||||
| # QUALITY CUTS DURING TRACK BUILDING | ||||
| import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff | ||||
|
|
@@ -95,14 +114,15 @@ | |||
| seedPairPenalty = 0, | ||||
| minPt = 0.1 | ||||
| ) | ||||
|
|
||||
| from Configuration.ProcessModifiers.seedingDeepCore_cff import seedingDeepCore | ||||
| seedingDeepCore.toModify(jetCoreRegionalStepTrajectoryFilter, | ||||
| jetCoreRegionalStepBarrelTrajectoryFilter = jetCoreRegionalStepTrajectoryFilter.clone( | ||||
| minimumNumberOfHits = 2, | ||||
| maxConsecLostHits = 2, | ||||
| maxLostHitsFraction = 1.1, | ||||
| minPt = 0.9 | ||||
| ) | ||||
| seedPairPenalty = 0, | ||||
| minPt = 0.9 ## should it be slightly decrease ? | ||||
| ) | ||||
| jetCoreRegionalStepEndcapTrajectoryFilter = jetCoreRegionalStepTrajectoryFilter.clone() | ||||
|
|
||||
|
|
||||
| from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017 | ||||
| from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA | ||||
|
|
@@ -127,29 +147,38 @@ | |||
| estimator = 'jetCoreRegionalStepChi2Est', | ||||
| maxDPhiForLooperReconstruction = cms.double(2.0), | ||||
| maxPtForLooperReconstruction = cms.double(0.7) | ||||
| ) | ||||
|
|
||||
| seedingDeepCore.toModify(jetCoreRegionalStepTrajectoryBuilder, | ||||
| maxPtForLooperReconstruction = 0., | ||||
| ) | ||||
| jetCoreRegionalStepBarrelTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( | ||||
| MeasurementTrackerName = '', | ||||
| trajectoryFilter = cms.PSet(refToPSet_ = cms.string('jetCoreRegionalStepBarrelTrajectoryFilter')), | ||||
| #clustersToSkip = cms.InputTag('jetCoreRegionalStepClusters'), | ||||
| maxCand = 50, | ||||
| estimator = 'jetCoreRegionalStepChi2Est', | ||||
| keepOriginalIfRebuildFails = True, | ||||
| lockHits = False, | ||||
| requireSeedHitsInRebuild = False, | ||||
| requireSeedHitsInRebuild = False | ||||
| ) | ||||
|
|
||||
| jetCoreRegionalStepEndcapTrajectoryBuilder = jetCoreRegionalStepTrajectoryBuilder.clone( | ||||
| trajectoryFilter = cms.PSet(refToPSet_ = cms.string('jetCoreRegionalStepEndcapTrajectoryFilter')), | ||||
| #clustersToSkip = cms.InputTag('jetCoreRegionalStepClusters'), | ||||
| ) | ||||
|
|
||||
| #customized cleaner for DeepCore | ||||
| from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits | ||||
| jetCoreRegionalStepDeepCoreTrajectoryCleaner = trajectoryCleanerBySharedHits.clone( | ||||
| ComponentName = 'jetCoreRegionalStepDeepCoreTrajectoryCleaner', | ||||
| fractionShared = 0.45 | ||||
| ) | ||||
|
|
||||
| import RecoTracker.TkSeedGenerator.deepCoreSeedGenerator_cfi | ||||
| import Validation.RecoTrack.JetCoreMCtruthSeedGenerator_cfi | ||||
| seedingDeepCore.toReplaceWith(jetCoreRegionalStepSeeds, | ||||
| RecoTracker.TkSeedGenerator.deepCoreSeedGenerator_cfi.deepCoreSeedGenerator.clone(#to run MCtruthSeedGenerator clone here from Validation.RecoTrack | ||||
| vertices="firstStepPrimaryVertices" | ||||
| ) | ||||
| ) | ||||
| ############## to run MCtruthSeedGenerator #################### | ||||
| #import RecoTracker.TkSeedGenerator.deepCoreSeedGenerator_cfi | ||||
| #import Validation.RecoTrack.JetCoreMCtruthSeedGenerator_cfi | ||||
| #seedingDeepCore.toReplaceWith(jetCoreRegionalStepSeeds, | ||||
| # RecoTracker.TkSeedGenerator.deepCoreSeedGenerator_cfi.deepCoreSeedGenerator.clone(#to run MCtruthSeedGenerator clone here from Validation.RecoTrack | ||||
| # vertices="firstStepPrimaryVertices" | ||||
| # ) | ||||
| #) | ||||
|
||||
|
|
||||
|
|
||||
| # MAKING OF TRACK CANDIDATES | ||||
| import RecoTracker.CkfPattern.CkfTrackCandidates_cfi | ||||
|
|
@@ -162,11 +191,22 @@ | |||
| #numHitsForSeedCleaner = cms.int32(50), | ||||
| #onlyPixelHitsForSeedCleaner = cms.bool(True), | ||||
| ) | ||||
| seedingDeepCore.toModify(jetCoreRegionalStepTrackCandidates, | ||||
| jetCoreRegionalStepBarrelTrackCandidates = jetCoreRegionalStepTrackCandidates.clone( | ||||
| src = 'jetCoreRegionalStepSeedsBarrel', | ||||
| TrajectoryBuilderPSet = cms.PSet( refToPSet_ = cms.string('jetCoreRegionalStepBarrelTrajectoryBuilder')), | ||||
| ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput | ||||
| #numHitsForSeedCleaner = cms.int32(50), | ||||
| #onlyPixelHitsForSeedCleaner = cms.bool(True), | ||||
| TrajectoryCleaner = 'jetCoreRegionalStepDeepCoreTrajectoryCleaner', | ||||
| doSeedingRegionRebuilding = True, | ||||
| doSeedingRegionRebuilding = True, | ||||
| ) | ||||
| jetCoreRegionalStepEndcapTrackCandidates = jetCoreRegionalStepTrackCandidates.clone( | ||||
| src = 'jetCoreRegionalStepSeedsEndcap', | ||||
| TrajectoryBuilderPSet = cms.PSet( refToPSet_ = cms.string('jetCoreRegionalStepEndcapTrajectoryBuilder')), | ||||
| ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput | ||||
| #numHitsForSeedCleaner = cms.int32(50), | ||||
| #onlyPixelHitsForSeedCleaner = cms.bool(True), | ||||
| ) | ||||
|
|
||||
|
|
||||
| # TRACK FITTING | ||||
| import RecoTracker.TrackProducer.TrackProducer_cfi | ||||
|
|
@@ -175,6 +215,13 @@ | |||
| src = 'jetCoreRegionalStepTrackCandidates', | ||||
| Fitter = 'FlexibleKFFittingSmoother' | ||||
| ) | ||||
| jetCoreRegionalStepBarrelTracks = jetCoreRegionalStepTracks.clone( | ||||
| src = 'jetCoreRegionalStepBarrelTrackCandidates', | ||||
| ) | ||||
| jetCoreRegionalStepEndcapTracks = jetCoreRegionalStepTracks.clone( | ||||
| src = 'jetCoreRegionalStepEndcapTrackCandidates', | ||||
| ) | ||||
|
|
||||
|
|
||||
| from Configuration.Eras.Modifier_fastSim_cff import fastSim | ||||
| import RecoTracker.FinalTrackSelectors.trackListMerger_cfi | ||||
|
|
@@ -188,27 +235,6 @@ | |||
|
|
||||
|
|
||||
| # Final selection | ||||
| from RecoTracker.IterativeTracking.InitialStep_cff import initialStepClassifier1 | ||||
| #from RecoTracker.IterativeTracking.DetachedTripletStep_cff import detachedTripletStepClassifier1 | ||||
|
|
||||
| #jetCoreRegionalStep = initialStepClassifier1.clone() | ||||
| #jetCoreRegionalStep.src='jetCoreRegionalStepTracks' | ||||
| #jetCoreRegionalStep.qualityCuts = [-0.3,0.0,0.2] | ||||
| #jetCoreRegionalStep.vertices = 'firstStepGoodPrimaryVertices' | ||||
|
|
||||
| #jetCoreRegionalStepClassifier1 = initialStepClassifier1.clone() | ||||
| #jetCoreRegionalStepClassifier1.src = 'jetCoreRegionalStepTracks' | ||||
| #jetCoreRegionalStepClassifier1.qualityCuts = [-0.2,0.0,0.4] | ||||
| #jetCoreRegionalStepClassifier2 = detachedTripletStepClassifier1.clone() | ||||
| #jetCoreRegionalStepClassifier2.src = 'jetCoreRegionalStepTracks' | ||||
|
|
||||
|
|
||||
|
|
||||
| #from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import * | ||||
| #jetCoreRegionalStep = ClassifierMerger.clone() | ||||
| #jetCoreRegionalStep.inputClassifiers=['jetCoreRegionalStepClassifier1','jetCoreRegionalStepClassifier2'] | ||||
|
|
||||
|
|
||||
| from RecoTracker.FinalTrackSelectors.TrackCutClassifier_cff import * | ||||
| jetCoreRegionalStep = TrackCutClassifier.clone( | ||||
| src = 'jetCoreRegionalStepTracks', | ||||
|
|
@@ -221,23 +247,46 @@ | |||
| maxLostLayers = [4,3,2], | ||||
| maxDz = [0.5,0.35,0.2], | ||||
| maxDr = [0.3,0.2,0.1] | ||||
| ), | ||||
| ), | ||||
| vertices = 'firstStepGoodPrimaryVertices' | ||||
| ) | ||||
| from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import * | ||||
| jetCoreRegionalStepBarrel = jetCoreRegionalStep.clone( | ||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. please move this and
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. still pending
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I tried to move afterwards, but it crashed because of not compatible modifier it does not make much sense, probably, to have the cut based defined --I can agree--
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
do I read it correctly that there is a a reason to more completely split the definition of |
||||
| src = 'jetCoreRegionalStepBarrelTracks', | ||||
| mva = dict( | ||||
| # minPixelHits = [1,1,1], # they could be easily increased to at least 2 or 3 ! | ||||
| min3DLayers = [1,2,2], | ||||
| ), | ||||
| ) | ||||
|
|
||||
| from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import * | ||||
| trackingPhase1.toReplaceWith(jetCoreRegionalStep, TrackMVAClassifierPrompt.clone( | ||||
| mva = dict(GBRForestLabel = 'MVASelectorJetCoreRegionalStep_Phase1'), | ||||
| src = 'jetCoreRegionalStepTracks', | ||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
not updated actually
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. still pending |
||||
| qualityCuts = [-0.2,0.0,0.4] | ||||
| )) | ||||
|
|
||||
| trackingPhase1.toReplaceWith(jetCoreRegionalStepBarrel, jetCoreRegionalStep.clone( | ||||
| src = 'jetCoreRegionalStepBarrelTracks', | ||||
| )) | ||||
|
|
||||
| jetCoreRegionalStepEndcap = jetCoreRegionalStep.clone( | ||||
| src = 'jetCoreRegionalStepEndcapTracks', | ||||
| ) | ||||
|
||||
|
|
||||
| from RecoTracker.FinalTrackSelectors.TrackTfClassifier_cfi import * | ||||
| from RecoTracker.FinalTrackSelectors.trackSelectionTf_cfi import * | ||||
| trackdnn.toReplaceWith(jetCoreRegionalStep, TrackTfClassifier.clone( | ||||
| src = 'jetCoreRegionalStepTracks', | ||||
| qualityCuts = qualityCutDictionary["JetCoreRegionalStep"], | ||||
| )) | ||||
| trackdnn.toReplaceWith(jetCoreRegionalStepBarrel, TrackTfClassifier.clone( | ||||
| src = 'jetCoreRegionalStepBarrelTracks', | ||||
| qualityCuts = qualityCutDictionary["JetCoreRegionalStep"], | ||||
| )) | ||||
| trackdnn.toReplaceWith(jetCoreRegionalStepEndcap, TrackTfClassifier.clone( | ||||
| src = 'jetCoreRegionalStepEndcapTracks', | ||||
| qualityCuts = qualityCutDictionary["JetCoreRegionalStep"], | ||||
| )) | ||||
|
|
||||
| fastSim.toModify(jetCoreRegionalStep,vertices = 'firstStepPrimaryVerticesBeforeMixing') | ||||
|
|
||||
|
|
@@ -251,10 +300,51 @@ | |||
| jetCoreRegionalStepSeeds, | ||||
| jetCoreRegionalStepTrackCandidates, | ||||
| jetCoreRegionalStepTracks, | ||||
| # jetCoreRegionalStepClassifier1,jetCoreRegionalStepClassifier2, | ||||
| #jetCoreRegionalStepClassifier1,jetCoreRegionalStepClassifier2, | ||||
| jetCoreRegionalStep) | ||||
| JetCoreRegionalStep = cms.Sequence(JetCoreRegionalStepTask) | ||||
| seedingDeepCore.toReplaceWith(JetCoreRegionalStep,JetCoreRegionalStep.copyAndExclude([jetCoreRegionalStepHitDoublets])) | ||||
|
|
||||
| JetCoreRegionalStepBarrelTask = cms.Task(jetsForCoreTrackingBarrel, | ||||
| firstStepGoodPrimaryVertices, | ||||
| #jetCoreRegionalStepClusters, | ||||
| jetCoreRegionalStepSeedLayers, | ||||
| jetCoreRegionalStepSeedsBarrel, | ||||
| jetCoreRegionalStepBarrelTrackCandidates, | ||||
| jetCoreRegionalStepBarrelTracks, | ||||
| jetCoreRegionalStepBarrel) | ||||
|
|
||||
| JetCoreRegionalStepEndcapTask = cms.Task(jetsForCoreTrackingEndcap, | ||||
| firstStepGoodPrimaryVertices, | ||||
| #jetCoreRegionalStepClusters, | ||||
| jetCoreRegionalStepSeedLayers, | ||||
| jetCoreRegionalStepEndcapTrackingRegions, | ||||
| jetCoreRegionalStepEndcapHitDoublets, | ||||
| jetCoreRegionalStepSeedsEndcap, | ||||
| jetCoreRegionalStepEndcapTrackCandidates, | ||||
| jetCoreRegionalStepEndcapTracks, | ||||
| jetCoreRegionalStepEndcap) | ||||
|
|
||||
|
|
||||
| from Configuration.ProcessModifiers.seedingDeepCore_cff import seedingDeepCore | ||||
|
|
||||
| from RecoTracker.FinalTrackSelectors.TrackCollectionMerger_cfi import * | ||||
| seedingDeepCore.toReplaceWith(jetCoreRegionalStepTracks, TrackCollectionMerger.clone( | ||||
| trackProducers = ["jetCoreRegionalStepBarrelTracks", | ||||
| "jetCoreRegionalStepEndcapTracks",], | ||||
| inputClassifiers = ["jetCoreRegionalStepBarrel", | ||||
| "jetCoreRegionalStepEndcap",], | ||||
| foundHitBonus = 100.0, | ||||
| lostHitPenalty = 1.0 | ||||
| )) | ||||
|
|
||||
| seedingDeepCore.toReplaceWith(jetCoreRegionalStep, jetCoreRegionalStepTracks.clone()) #(*) | ||||
|
|
||||
| seedingDeepCore.toReplaceWith(JetCoreRegionalStepTask, cms.Task( | ||||
| JetCoreRegionalStepBarrelTask, | ||||
| JetCoreRegionalStepEndcapTask, | ||||
| cms.Task(jetCoreRegionalStepTracks,jetCoreRegionalStep) | ||||
| )) | ||||
|
|
||||
| fastSim.toReplaceWith(JetCoreRegionalStepTask, | ||||
| cms.Task(jetCoreRegionalStepTracks, | ||||
| jetCoreRegionalStep)) | ||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. (new comment)
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. not sure |
||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -40,6 +40,7 @@ | |
| #include "DataFormats/Common/interface/DetSetVector.h" | ||
| #include "DataFormats/Common/interface/DetSet.h" | ||
| #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h" | ||
| #include "DataFormats/SiPixelDetId/interface/PixelSubdetector.h" | ||
| #include "DataFormats/VertexReco/interface/Vertex.h" | ||
| #include "DataFormats/TrackReco/interface/Track.h" | ||
| #include "DataFormats/VertexReco/interface/VertexFwd.h" | ||
|
|
@@ -242,7 +243,7 @@ void DeepCoreSeedGenerator::produce(edm::Event& iEvent, const edm::EventSetup& i | |
| input_tensors[1].second.matrix<float>()(0, 0) = 0.0; | ||
| for (int x = 0; x < jetDimX; x++) { | ||
| for (int y = 0; y < jetDimY; y++) { | ||
| for (int l = 0; l < 4; l++) { | ||
| for (int l = 0; l < Nlayer; l++) { | ||
| input_tensors[2].second.tensor<float, 4>()(0, x, y, l) = 0.0; | ||
| } | ||
| } | ||
|
|
@@ -270,7 +271,7 @@ void DeepCoreSeedGenerator::produce(edm::Event& iEvent, const edm::EventSetup& i | |
|
|
||
| for (const auto& aCluster : detset) { | ||
| det_id_type aClusterID = detset.id(); | ||
| if (DetId(aClusterID).subdetId() != 1) | ||
| if (DetId(aClusterID).subdetId() != PixelSubdetector::PixelBarrel) | ||
| continue; | ||
|
|
||
| int lay = tTopo->layer(det->geographicalId()); | ||
|
|
@@ -560,8 +561,8 @@ void DeepCoreSeedGenerator::fillDescriptions(edm::ConfigurationDescriptions& des | |
| desc.add<edm::InputTag>("vertices", edm::InputTag("offlinePrimaryVertices")); | ||
| desc.add<edm::InputTag>("pixelClusters", edm::InputTag("siPixelClustersPreSplitting")); | ||
| desc.add<edm::InputTag>("cores", edm::InputTag("jetsForCoreTracking")); | ||
| desc.add<double>("ptMin", 300); | ||
| desc.add<double>("deltaR", 0.1); | ||
| desc.add<double>("ptMin", 100); | ||
| desc.add<double>("deltaR", 0.25); // the current training makes use of 0.1 | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. the PR description has
is the code here supposed to change or is it the description that's out of date?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
please comment
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think I updated the PR description |
||
| desc.add<double>("chargeFractionMin", 18000.0); | ||
| desc.add<double>("centralMIPCharge", 2); | ||
| desc.add<std::string>("pixelCPE", "PixelCPEGeneric"); | ||
|
|
||
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.
please remind me why these settings are justified compared to the endcap part
minimumNumberOfHits = 4vs 2 andmaxConsecLostHits = 2: are the hits counted differently?minPt = 0.9vs 0.1: this looks like a physics optimization; if it's acceptable to have a cut at 0.9 in the barrel, why not keep the same in the endcap?For simpler maintenance it would be much better to just make the seeds, merge them, and then pass to the same building and fitting modules instead of splitting.
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.
please comment