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

Phase1 in FastSim of CMS #23363

Merged
merged 26 commits into from Jun 19, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
1a4a743
New FastSim modifier skipping GEM sequence
angirar May 29, 2018
4ddf7ca
Phase1 configurable geometry
angirar May 29, 2018
24e0020
Removing dummy iteration files from FastSim/Tracking
angirar May 29, 2018
023b50c
Making tracking sequence configurable in FastSim
angirar May 29, 2018
73b0f63
Phase1 iterations in FastSim
angirar May 29, 2018
308fe73
Preparing CA generators for use in FastSim
angirar May 29, 2018
597ba53
Making SeedingLayerSetsHits pointer for FastSim seeding
angirar May 29, 2018
3f1780d
Fix for doublets by adding to the cache
angirar May 29, 2018
1b9eea2
Phase1 seeding in FastSim
angirar May 29, 2018
f80a58e
Removing the commented lines from LayerHitMapCache.h
angirar May 30, 2018
c94e7a4
Moving the CAGraph.h include to the source file
angirar May 30, 2018
a33a982
Removing FastSim phase1 parameters from CA class
angirar May 31, 2018
230f310
Adding FastSim phase1 parameters to SeedFinderSelector
angirar May 31, 2018
42b4600
Fixing the compilation errors
angirar Jun 1, 2018
9fb1e01
Addition of new phase1 parameters to SeedFinderSelector working now
angirar Jun 4, 2018
83b2d33
Fix in iterations
angirar Jun 4, 2018
fbbd5a7
Removing the FastSim flag from SeedingLayerSetsBuilder temporarily
angirar Jun 4, 2018
0395bb2
Minor fix
angirar Jun 5, 2018
86e67c7
Adding FastSim 2017 workflows to runTheMatrix.py
angirar Jun 5, 2018
6534684
Miscellaneous changes
angirar Jun 5, 2018
1bb71e6
Changing the beamspot to Realistic25ns13TeVEarly2017Collision in Phas…
angirar Jun 6, 2018
057c0de
Passing the FastSimRecHits token as argument to new FastSim specific …
angirar Jun 6, 2018
fd00ad4
Using layerList parameter of SeedFinderSelector for TrajectorySeedPro…
angirar Jun 6, 2018
cb9403d
Removing the SeedComparitorPSet parameter from detachedTripletStepHit…
angirar Jun 7, 2018
7cd1dff
Removing siPixelPhase1OfflineDQM_sourceV module from globalValidation…
angirar Jun 8, 2018
b88c1b8
Minor fix in InitialStep
angirar Jun 12, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 6 additions & 0 deletions Configuration/Eras/python/Era_Run2_2017_FastSim_cff.py
@@ -0,0 +1,6 @@
import FWCore.ParameterSet.Config as cms

from Configuration.Eras.Era_Run2_2017_cff import Run2_2017
from Configuration.Eras.Modifier_run2_GEM_2017_cff import run2_GEM_2017

Run2_2017_FastSim = Run2_2017.copyAndExclude([run2_GEM_2017])
17 changes: 17 additions & 0 deletions Configuration/PyReleaseValidation/python/relval_standard.py
Expand Up @@ -360,6 +360,23 @@
### MinBias fastsim_13 TeV for mixing ###
workflows[135.8] = ['',['MinBiasFS_13_ForMixing']]

### Phase1 FastSim 13TeV ###
workflows[2017.1] = ['TTbar_13_UP17', ['TTbarFS_13_UP17','HARVESTUP17FS','MINIAODMCUP17FS']]
workflows[2017.2] = ['SingleMuPt10_UP17', ['SingleMuPt10FS_UP17','HARVESTUP17FS','MINIAODMCUP17FS']]
workflows[2017.3] = ['SingleMuPt100_UP17', ['SingleMuPt100FS_UP17','HARVESTUP17FS','MINIAODMCUP17FS']]
workflows[2017.4] = ['ZEE_13_UP17', ['ZEEFS_13_UP17','HARVESTUP17FS','MINIAODMCUP17FS']]
workflows[2017.5] = ['ZTT_13_UP17',['ZTTFS_13_UP17','HARVESTUP17FS','MINIAODMCUP17FS']]
workflows[2017.6] = ['QCD_FlatPt_15_3000_13_UP17', ['QCDFlatPt153000FS_13_UP17','HARVESTUP17FS','MINIAODMCUP17FS']]
workflows[2017.7] = ['H125GGgluonfusion_13_UP17', ['H125GGgluonfusionFS_13_UP17','HARVESTUP17FS','MINIAODMCUP17FS']]
workflows[2017.9] = ['ZMM_13_UP17',['ZMMFS_13_UP17','HARVESTUP17FS','MINIAODMCUP17FS']]
workflows[2017.11] = ['SMS-T1tttt_mGl-1500_mLSP-100_13_UP17', ['SMS-T1tttt_mGl-1500_mLSP-100FS_13_UP17','HARVESTUP17FS','MINIAODMCUP17FS']]
workflows[2017.12] = ['QCD_Pt_80_120_13_UP17', ['QCD_Pt_80_120FS_13_UP17','HARVESTUP17FS','MINIAODMCUP17FS']]
workflows[2017.13] = ['TTbar_13_UP17', ['TTbarFS_13_trackingOnlyValidation_UP17','HARVESTUP17FS_trackingOnly']]

### MinBias fastsim_13 TeV for mixing ###
workflows[2017.8] = ['',['MinBiasFS_13_ForMixing']]


### standard set ###
## particle guns
workflows[15] = ['', ['SingleElectronPt10','DIGI','RECO','HARVEST']]
Expand Down
30 changes: 28 additions & 2 deletions Configuration/PyReleaseValidation/python/relval_steps.py
Expand Up @@ -875,6 +875,18 @@ def genS(fragment,howMuch):
step1FastUpg2015_trackingOnlyValidation = merge([{'-s':'GEN,SIM,RECOBEFMIX,DIGI:pdigi_valid,L1,DIGI2RAW,RECO,VALIDATION:@trackingOnlyValidation'},
step1FastUpg2015Defaults])

step1FastUpg2017Defaults =merge([{'-s':'GEN,SIM,RECOBEFMIX,DIGI:pdigi_valid,L1,DIGI2RAW,L1Reco,RECO,EI,VALIDATION:@standardValidation,DQM:@standardDQM',
'--fast':'',
'--conditions' :'auto:phase1_2017_realistic',
'--beamspot' : 'Realistic25ns13TeVEarly2017Collision',
'--era' :'Run2_2017_FastSim',
'--eventcontent':'FEVTDEBUGHLT,DQM',
'--datatier':'GEN-SIM-DIGI-RECO,DQMIO',
'--relval':'27000,3000'},
step1Defaults])

step1FastUpg2017_trackingOnlyValidation = merge([{'-s':'GEN,SIM,RECOBEFMIX,DIGI:pdigi_valid,L1,DIGI2RAW,RECO,VALIDATION:@trackingOnlyValidation'},
step1FastUpg2017Defaults])

#step1FastDefaults
steps['TTbarFS']=merge([{'cfg':'TTbar_8TeV_TuneCUETP8M1_cfi'},Kby(100,1000),step1FastDefaults])
Expand Down Expand Up @@ -910,6 +922,19 @@ def genS(fragment,howMuch):
### FastSim: produce sample of minbias events for PU mixing
steps['MinBiasFS_13_ForMixing']=merge([{'cfg':'MinBias_13TeV_pythia8_TuneCUETP8M1_cfi'},Kby(100,1000),step1FastPUNewMixing])

#step1FastUpg2017Defaults
steps['TTbarFS_13_UP17']=merge([{'cfg':'TTbar_13TeV_TuneCUETP8M1_cfi'},Kby(100,1000),step1FastUpg2017Defaults])
steps['TTbarFS_13_trackingOnlyValidation_UP17']=merge([{'cfg':'TTbar_13TeV_TuneCUETP8M1_cfi'},Kby(100,1000),step1FastUpg2017_trackingOnlyValidation])
steps['SMS-T1tttt_mGl-1500_mLSP-100FS_13_UP17']=merge([{'cfg':'SMS-T1tttt_mGl-1500_mLSP-100_13TeV-pythia8_cfi'},Kby(100,1000),step1FastUpg2017Defaults])
steps['ZEEFS_13_UP17']=merge([{'cfg':'ZEE_13TeV_TuneCUETP8M1_cfi'},Kby(100,2000),step1FastUpg2017Defaults])
steps['ZTTFS_13_UP17']=merge([{'cfg':'ZTT_All_hadronic_13TeV_TuneCUETP8M1_cfi'},Kby(100,2000),step1FastUpg2017Defaults])
steps['ZMMFS_13_UP17']=merge([{'cfg':'ZMM_13TeV_TuneCUETP8M1_cfi'},Kby(100,2000),step1FastUpg2017Defaults])
steps['QCDFlatPt153000FS_13_UP17']=merge([{'cfg':'QCDForPF_13TeV_TuneCUETP8M1_cfi'},Kby(27,2000),step1FastUpg2017Defaults])
steps['QCD_Pt_80_120FS_13_UP17']=merge([{'cfg':'QCD_Pt_80_120_13TeV_TuneCUETP8M1_cfi'},Kby(100,500),step1FastUpg2017Defaults])
steps['H125GGgluonfusionFS_13_UP17']=merge([{'cfg':'H125GGgluonfusion_13TeV_TuneCUETP8M1_cfi'},step1FastUpg2017Defaults])
steps['SingleMuPt10FS_UP17']=merge([{'cfg':'SingleMuPt10_pythia8_cfi'},step1FastUpg2017Defaults])
steps['SingleMuPt100FS_UP17']=merge([{'cfg':'SingleMuPt100_pythia8_cfi'},step1FastUpg2017Defaults])

### FastSim: template to produce signal and overlay with minbias events
PUFS25={'--pileup':'AVE_35_BX_25ns',
'--pileup_input':'das:/RelValMinBiasFS_13_ForMixing/%s/GEN-SIM-RECO'%(baseDataSetRelease[7],)}
Expand Down Expand Up @@ -2250,7 +2275,8 @@ def gen2018HiMix(fragment,howMuch):
'--filetype':'DQM',
'--scenario':'pp'}
steps['HARVESTUP15FS_trackingOnly']=merge([{'-s': 'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM'}, steps['HARVESTUP15FS']])

steps['HARVESTUP17FS']=merge([{'--conditions':'auto:phase1_2017_realistic','--era' : 'Run2_2017_FastSim'},steps['HARVESTUP15FS']])
steps['HARVESTUP17FS_trackingOnly']=merge([{'-s': 'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM'}, steps['HARVESTUP17FS']])

steps['ALCASPLIT']={'-s':'ALCAOUTPUT:@allForPrompt',
'--conditions':'auto:run1_data',
Expand Down Expand Up @@ -2365,7 +2391,7 @@ def gen2018HiMix(fragment,howMuch):
#steps['MINIAODMCUP15HI'] =merge([{'--conditions':'auto:run2_mc_hi','--era':'Run2_HI'},stepMiniAODMC])
steps['MINIAODMCUP15FS'] =merge([{'--filein':'file:step1.root','--fast':''},stepMiniAODMC])
steps['MINIAODMCUP15FS50'] =merge([{'--conditions':'auto:run2_mc_50ns','--era':'Run2_50ns'},steps['MINIAODMCUP15FS']])

steps['MINIAODMCUP17FS'] =merge([{'--filein':'file:step1.root','--fast':'','--conditions':'auto:phase1_2017_realistic','--era':'Run2_2017_FastSim'},stepMiniAODMC])
steps['DBLMINIAODMCUP15NODQM'] = merge([{'--conditions':'auto:run2_mc',
'-s':'PAT',
'--datatier' : 'MINIAODSIM',
Expand Down
1 change: 1 addition & 0 deletions Configuration/StandardSequences/python/Eras.py
Expand Up @@ -20,6 +20,7 @@ def __init__(self):
'Run2_2016_trackingLowPU',
'Run2_2016_pA',
'Run2_2017',
'Run2_2017_FastSim', #new modifier for Phase1 FastSim, skips the muon GEM sequence
'Run2_2017_trackingRun2',
'Run2_2017_trackingLowPU',
'Run2_2017_pp_on_XeXe',
Expand Down
@@ -1,4 +1,5 @@
import FWCore.ParameterSet.Config as cms
from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel #to configure phase1 geoemtry

# Do not change the order of the interaction models unless you know what you are doing.
# Not used at the moment: "muonBremsstrahlung", "nuclearInteractionFTF"
Expand Down Expand Up @@ -71,6 +72,7 @@
activeLayer = cms.untracked.string("BPix3"),
interactionModels = _trackerMaterialInteractionModels
),

########### Pixel Outside walls and cables (barrel) ###########
#PIXBOut5
cms.PSet(
Expand Down Expand Up @@ -211,6 +213,7 @@
activeLayer = cms.untracked.string("FPix2"),
interactionModels = _trackerMaterialInteractionModels
),

########### Pixel Endcap outside cables ###########
#PIXBOut6
cms.PSet(
Expand Down Expand Up @@ -349,5 +352,23 @@
),
)
)


#new phase1 geometry
phase1Pixel.toModify(TrackerMaterialBlock, TrackerMaterial = dict(
BarrelLayers = TrackerMaterialBlock.TrackerMaterial.BarrelLayers[:4] + [
#PIXB4
cms.PSet(
#radius = cms.untracked.double(16),
limits = cms.untracked.vdouble(0.0, 28.391),
thickness = cms.untracked.vdouble(0.0217),
activeLayer = cms.untracked.string("BPix4"),
interactionModels = _trackerMaterialInteractionModels
),] + TrackerMaterialBlock.TrackerMaterial.BarrelLayers[4:],
EndcapLayers = TrackerMaterialBlock.TrackerMaterial.EndcapLayers[:4] + [
#PIXD3
cms.PSet(
limits = cms.untracked.vdouble(4.823, 16.598),
thickness = cms.untracked.vdouble(0.058),
activeLayer = cms.untracked.string("FPix3"),
interactionModels = _trackerMaterialInteractionModels
),] + TrackerMaterialBlock.TrackerMaterial.EndcapLayers[4:]
))
17 changes: 16 additions & 1 deletion FastSimulation/Tracking/interface/SeedFinderSelector.h
Expand Up @@ -5,11 +5,18 @@
#include <memory>
#include <string>

#include "DataFormats/TrackerCommon/interface/TrackerTopology.h"
#include "TrackingTools/TransientTrackingRecHit/interface/SeedingLayerSetsHits.h"
#include "RecoTracker/TkSeedingLayers/interface/SeedingLayerSetsBuilder.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"

class TrackingRegion;
class FastTrackerRecHit;
class MultiHitGeneratorFromPairAndLayers;
class HitTripletGeneratorFromPairAndLayers;
class MeasurementTracker;
class CAHitTripletGenerator;
class CAHitQuadrupletGenerator;

namespace edm
{
Expand All @@ -32,6 +39,8 @@ class SeedFinderSelector
void setTrackingRegion(const TrackingRegion * trackingRegion){trackingRegion_ = trackingRegion;}

bool pass(const std::vector<const FastTrackerRecHit *>& hits) const;
//new for Phase1
SeedingLayerSetsBuilder::SeedingLayerId Layer_tuple(const FastTrackerRecHit * hit) const;

private:

Expand All @@ -41,7 +50,13 @@ class SeedFinderSelector
const edm::EventSetup * eventSetup_;
const MeasurementTracker * measurementTracker_;
const std::string measurementTrackerLabel_;

std::unique_ptr<CAHitTripletGenerator> CAHitTriplGenerator_;
std::unique_ptr<CAHitQuadrupletGenerator> CAHitQuadGenerator_;
std::unique_ptr<SeedingLayerSetsBuilder> seedingLayers_;
std::unique_ptr<SeedingLayerSetsHits> seedingLayer;
std::vector<unsigned> layerPairs_;
edm::ESHandle<TrackerTopology> trackerTopology;
std::vector<SeedingLayerSetsBuilder::SeedingLayerId> seedingLayerIds;
};

#endif
2 changes: 1 addition & 1 deletion FastSimulation/Tracking/plugins/TrajectorySeedProducer.cc
Expand Up @@ -102,7 +102,7 @@ TrajectorySeedProducer::TrajectorySeedProducer(const edm::ParameterSet& conf)
}

// read Layers
std::vector<std::string> layerStringList = conf.getParameter<std::vector<std::string>>("layerList");
std::vector<std::string> layerStringList = conf.getParameter<edm::ParameterSet>("seedFinderSelector").getParameter<std::vector<std::string>>("layerList");
std::string layerBegin = *(layerStringList.cbegin());
nHitsPerSeed_ = 0;
for(auto it=layerStringList.cbegin(); it < layerStringList.cend(); ++it)
Expand Down
3 changes: 0 additions & 3 deletions FastSimulation/Tracking/python/DetachedTripletStep_cff.py

This file was deleted.

3 changes: 0 additions & 3 deletions FastSimulation/Tracking/python/InitialStep_cff.py

This file was deleted.

4 changes: 0 additions & 4 deletions FastSimulation/Tracking/python/JetCoreRegionalStep_cff.py

This file was deleted.

3 changes: 0 additions & 3 deletions FastSimulation/Tracking/python/LowPtTripletStep_cff.py

This file was deleted.

3 changes: 0 additions & 3 deletions FastSimulation/Tracking/python/MixedTripletStep_cff.py

This file was deleted.

3 changes: 0 additions & 3 deletions FastSimulation/Tracking/python/PixelLessStep_cff.py

This file was deleted.

3 changes: 0 additions & 3 deletions FastSimulation/Tracking/python/PixelPairStep_cff.py

This file was deleted.

4 changes: 3 additions & 1 deletion FastSimulation/Tracking/python/SeedingMigration.py
Expand Up @@ -12,7 +12,9 @@ def _hitSetProducerToFactoryPSet(producer):
"PixelTripletHLTEDProducer": "PixelTripletHLTGenerator",
"PixelTripletLargeTipEDProducer": "PixelTripletLargeTipGenerator",
"MultiHitFromChi2EDProducer": "MultiHitGeneratorFromChi2",
}
"CAHitTripletEDProducer": "CAHitTripletGenerator",
"CAHitQuadrupletEDProducer": "CAHitQuadrupletGenerator",
}
ret = cms.PSet()
_copy(producer, ret)
ret.ComponentName = cms.string(_map[producer._TypedParameterizable__type]);
Expand Down
3 changes: 0 additions & 3 deletions FastSimulation/Tracking/python/TobTecStep_cff.py

This file was deleted.

14 changes: 12 additions & 2 deletions FastSimulation/Tracking/python/TrajectorySeedProducer_cfi.py
Expand Up @@ -8,9 +8,19 @@
SeedCreatorPSet = RecoTracker.TkSeedGenerator.SeedFromConsecutiveHitsCreator_cfi.SeedFromConsecutiveHitsCreator.clone(
TTRHBuilder = cms.string("WithoutRefit")),
recHitCombinations = cms.InputTag("fastMatchedTrackerRecHitCombinations"),
layerList = cms.vstring(),
seedFinderSelector = cms.PSet(
measurementTracker = cms.string("")
measurementTracker = cms.string(""),
layerList = cms.vstring(),
#new parameters for phase1 seeding
BPix = cms.PSet(
TTRHBuilder = cms.string(''),
HitProducer = cms.string(''),
),
FPix = cms.PSet(
TTRHBuilder = cms.string(''),
HitProducer = cms.string(''),
),
layerPairs = cms.vuint32()
)
)

Expand Down
2 changes: 0 additions & 2 deletions FastSimulation/Tracking/python/hltSeeds_cff.py
Expand Up @@ -8,7 +8,6 @@
# pixel triplet seeds
import RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi
hltPixelTripletSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
layerList = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.layerList,
skipSeedFinderSelector = cms.untracked.bool(True),
trackingRegions = "hltPixelTripletTrackingRegions"
)
Expand All @@ -18,7 +17,6 @@
import FastSimulation.Tracking.TrajectorySeedProducer_cfi
import RecoTracker.TkSeedingLayers.MixedLayerPairs_cfi
hltPixelPairSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
layerList = RecoTracker.TkSeedingLayers.MixedLayerPairs_cfi.MixedLayerPairs.layerList,
skipSeedFinderSelector = cms.untracked.bool(True),
trackingRegions = "hltPixelTripletTrackingRegions"
)
Expand Down
37 changes: 29 additions & 8 deletions FastSimulation/Tracking/python/iterativeTk_cff.py
Expand Up @@ -4,18 +4,23 @@
##############################

import FWCore.ParameterSet.Config as cms
from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
from TrackingTools.MaterialEffects.MaterialPropagatorParabolicMf_cff import *
from FastSimulation.Tracking.InitialStep_cff import *
from FastSimulation.Tracking.DetachedTripletStep_cff import *
from FastSimulation.Tracking.LowPtTripletStep_cff import *
from FastSimulation.Tracking.PixelPairStep_cff import *
from FastSimulation.Tracking.MixedTripletStep_cff import *
from FastSimulation.Tracking.PixelLessStep_cff import *
from FastSimulation.Tracking.TobTecStep_cff import *
#importing iterations directly from RecoTracker
from RecoTracker.IterativeTracking.InitialStep_cff import *
from RecoTracker.IterativeTracking.DetachedQuadStep_cff import *
from RecoTracker.IterativeTracking.HighPtTripletStep_cff import *
from RecoTracker.IterativeTracking.LowPtQuadStep_cff import *
from RecoTracker.IterativeTracking.DetachedTripletStep_cff import *
from RecoTracker.IterativeTracking.LowPtTripletStep_cff import *
from RecoTracker.IterativeTracking.PixelPairStep_cff import *
from RecoTracker.IterativeTracking.MixedTripletStep_cff import *
from RecoTracker.IterativeTracking.PixelLessStep_cff import *
from RecoTracker.IterativeTracking.TobTecStep_cff import *
# the following loads a dummy empty track collection
# such that FastSim can import earlyGeneralTracks_cfi from full tracking
# todo: actual implementation of JetCore iteration
from FastSimulation.Tracking.JetCoreRegionalStep_cff import *
from RecoTracker.IterativeTracking.JetCoreRegionalStep_cff import *

import RecoTracker.FinalTrackSelectors.earlyGeneralTracks_cfi
# todo, import MuonSeededStep_cff, preDuplicateMergingGeneralTracks_cfi, MergeTrackCollections_cff, ConversionStep_cff
Expand All @@ -33,3 +38,19 @@
+JetCoreRegionalStep
+generalTracksBeforeMixing)

_iterTracking_Phase1 = cms.Sequence(
InitialStep
+LowPtQuadStep
+HighPtTripletStep
+LowPtTripletStep
+DetachedQuadStep
+DetachedTripletStep
+PixelPairStep
+MixedTripletStep
+PixelLessStep
+TobTecStep
+JetCoreRegionalStep
+generalTracksBeforeMixing)

trackingPhase1.toReplaceWith(iterTracking, _iterTracking_Phase1)