Skip to content

Commit

Permalink
Merge pull request #41632 from AdrianoDee/more_configurable_ca_hion
Browse files Browse the repository at this point in the history
More Configurable Pixel Tracks and HIon Template
  • Loading branch information
cmsbuild authored Jul 16, 2023
2 parents 3408cbd + 0c04805 commit 9f75c01
Show file tree
Hide file tree
Showing 64 changed files with 931 additions and 291 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,13 @@ namespace gpuClustering {
// tested on MC events with 55-75 pileup events
constexpr uint32_t maxHitsInIter() { return 160; } //TODO better tuning for PU 140-200
#endif
constexpr uint32_t maxHitsInModule() { return 1024; }

constexpr uint32_t maxNumDigis = 3 * 256 * 1024; // @PU=200 µ=530k σ=50k this is >4σ away
constexpr uint16_t clusterThresholdLayerOne = 2000;
constexpr uint16_t clusterThresholdOtherLayers = 4000;

constexpr uint32_t maxNumDigis = 3 * 256 * 1024; // @PU=200 µ=530 σ=50k this is >4σ away
constexpr uint16_t maxNumModules = 4000;

constexpr int32_t maxNumClustersPerModules = maxHitsInModule();
constexpr uint16_t invalidModuleId = std::numeric_limits<uint16_t>::max() - 1;
constexpr int invalidClusterId = -9999;
static_assert(invalidModuleId > maxNumModules); // invalidModuleId must be > maxNumModules
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ namespace pixelTrack {

using TrackSoADevicePhase1 = TrackSoAHeterogeneousDevice<pixelTopology::Phase1>;
using TrackSoADevicePhase2 = TrackSoAHeterogeneousDevice<pixelTopology::Phase2>;
using TrackSoADeviceHIonPhase1 = TrackSoAHeterogeneousDevice<pixelTopology::HIonPhase1>;

} // namespace pixelTrack

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ namespace pixelTrack {

using TrackSoAHostPhase1 = TrackSoAHeterogeneousHost<pixelTopology::Phase1>;
using TrackSoAHostPhase2 = TrackSoAHeterogeneousHost<pixelTopology::Phase2>;

using TrackSoAHostHIonPhase1 = TrackSoAHeterogeneousHost<pixelTopology::HIonPhase1>;
} // namespace pixelTrack

#endif // CUDADataFormats_Track_TrackHeterogeneousT_H
6 changes: 6 additions & 0 deletions CUDADataFormats/Track/src/classes_def.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,10 @@
<class name="cms::cuda::Product<pixelTrack::TrackSoADevicePhase2>" persistent="false"/>
<class name="edm::Wrapper<cms::cuda::Product<pixelTrack::TrackSoADevicePhase2>>" persistent="false"/>

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

</lcgdict>
Original file line number Diff line number Diff line change
Expand Up @@ -77,5 +77,6 @@ class TrackingRecHitSoADevice : public cms::cuda::PortableDeviceCollection<Track
//Classes definition for Phase1/Phase2, to make the classes_def lighter. Not actually used in the code.
using TrackingRecHitSoADevicePhase1 = TrackingRecHitSoADevice<pixelTopology::Phase1>;
using TrackingRecHitSoADevicePhase2 = TrackingRecHitSoADevice<pixelTopology::Phase2>;
using TrackingRecHitSoADeviceHIonPhase1 = TrackingRecHitSoADevice<pixelTopology::HIonPhase1>;

#endif // CUDADataFormats_Track_TrackHeterogeneousT_H
Original file line number Diff line number Diff line change
Expand Up @@ -67,5 +67,6 @@ class TrackingRecHitSoAHost : public cms::cuda::PortableHostCollection<TrackingR

using TrackingRecHitSoAHostPhase1 = TrackingRecHitSoAHost<pixelTopology::Phase1>;
using TrackingRecHitSoAHostPhase2 = TrackingRecHitSoAHost<pixelTopology::Phase2>;
using TrackingRecHitSoAHostHIonPhase1 = TrackingRecHitSoAHost<pixelTopology::HIonPhase1>;

#endif // CUDADataFormats_Track_TrackHeterogeneousT_H
7 changes: 6 additions & 1 deletion CUDADataFormats/TrackingRecHit/src/classes_def.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,19 @@
<class name="TrackingRecHitSoAHostPhase1" persistent="false"/>
<class name="edm::Wrapper<TrackingRecHitSoAHostPhase1>" persistent="false"/>

<class name="TrackingRecHitSoAHostHIonPhase1" persistent="false"/>
<class name="edm::Wrapper<TrackingRecHitSoAHostHIonPhase1>" persistent="false"/>

<class name="TrackingRecHitSoAHostPhase2" persistent="false"/>
<class name="edm::Wrapper<TrackingRecHitSoAHostPhase2>" persistent="false"/>

<class name="TrackingRecHitSoADevicePhase1" persistent="false"/>
<class name="cms::cuda::Product<TrackingRecHitSoADevicePhase1>" persistent="false"/>
<class name="edm::Wrapper<cms::cuda::Product<TrackingRecHitSoADevicePhase1>>" persistent="false"/>

<class name="cms::cuda::Product<TrackingRecHitSoADevicePhase2>" persistent="false"/>
<class name="edm::Wrapper<cms::cuda::Product<TrackingRecHitSoADevicePhase2>>" persistent="false"/>

<class name="cms::cuda::Product<TrackingRecHitSoADeviceHIonPhase1>" persistent="false"/>
<class name="edm::Wrapper<cms::cuda::Product<TrackingRecHitSoADeviceHIonPhase1>>" persistent="false"/>

</lcgdict>
3 changes: 2 additions & 1 deletion Configuration/PyReleaseValidation/python/relval_gpu.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,8 @@
# data 2023 Patatrack pixel-only triplets: RunJetMET2022D on GPU (optional)
# Patatrack ECAL-only: RunJetMET2022D on GPU (optional)
# Patatrack HCAL-only: RunJetMET2022D on GPU (optional)

workflows[141.008506] = ['Run3-2023_JetMET2023B_RecoPixelOnlyTripletsGPU',['RunJetMET2023B','HLTDR3_2023','RECODR3_reHLT_Patatrack_PixelOnlyTripletsGPU','HARVESTRUN3_pixelTrackingOnly']]
workflows[141.008512] = ['Run3-2023_JetMET2023B_RecoECALOnlyGPU',['RunJetMET2023B','HLTDR3_2023','RECODR3_reHLT_ECALOnlyGPU','HARVESTRUN3_ECALOnly']]
workflows[141.008522] = ['Run3-2023_JetMET2023B_RecoHCALOnlyGPU',['RunJetMET2023B','HLTDR3_2023','RECODR3_reHLT_HCALOnlyGPU','HARVESTRUN3_HCALOnly']]
#2023 HIon MC Patatrack pixel-only quadruplets on HydjetQ_MinBias_5362GeV_2023_ppReco on GPU (optional)
workflows[160.502] = ['',['HydjetQ_MinBias_5362GeV_2023_ppReco','DIGIHI2023PPRECO','RAWPRIMESIMHI18','RECOHI2023PPRECOMB_PatatrackGPU','MINIHI2023PROD']]
2 changes: 2 additions & 0 deletions Configuration/PyReleaseValidation/python/relval_standard.py
Original file line number Diff line number Diff line change
Expand Up @@ -824,6 +824,8 @@
workflows[160.2] = ['',['PhotonJets_Pt_10_5362_HI_2023','DIGIHI2023PPRECO','RECOHI2023PPRECO','HARVESTHI2023PPRECO']]
workflows[160.3] = ['',['ZMM_5362_HI_2023','DIGIHI2023PPRECO','RECOHI2023PPRECO','HARVESTHI2023PPRECO']]
workflows[160.4] = ['',['ZEE_5362_HI_2023','DIGIHI2023PPRECO','RECOHI2023PPRECO','HARVESTHI2023PPRECO']]
# Patatrack Pixel Tracks on CPU
workflows[160.501] = ['',['HydjetQ_MinBias_5362GeV_2023_ppReco','DIGIHI2023PPRECO','RAWPRIMESIMHI18','RECOHI2023PPRECOMB_PatatrackCPU','MINIHI2023PROD']]

### pp reference test ###
workflows[149] = ['',['QCD_Pt_80_120_13_PPREF','DIGIPPREF2017','RECOPPREF2017','HARVESTPPREF2017']]
Expand Down
12 changes: 12 additions & 0 deletions Configuration/PyReleaseValidation/python/relval_steps.py
Original file line number Diff line number Diff line change
Expand Up @@ -3013,6 +3013,18 @@ def gen2023HiMix(fragment,howMuch):
'--era':'Run3_pp_on_PbPb_2023',
'--procModifiers':'genJetSubEvent',
},step3Up2015Defaults])
steps['RECOHI2023PPRECOMB_PatatrackGPU']=merge([hiDefaults2023_ppReco,step3_pixel_ntuplet_gpu,{'-s':'RAW2DIGI,L1Reco,RECO,PAT,VALIDATION:@standardValidationNoHLT+@miniAODValidation,DQM:@standardDQMFakeHLT+@miniAODDQM',
'--datatier':'GEN-SIM-RECO,MINIAODSIM,DQMIO',
'--eventcontent':'RECOSIM,MINIAODSIM,DQM',
'--era':'Run3_pp_on_PbPb',
'--procModifiers':'genJetSubEvent',
},step3Up2015Defaults])
steps['RECOHI2023PPRECOMB_PatatrackCPU']=merge([hiDefaults2023_ppReco,step3_pixel_ntuplet_cpu,{'-s':'RAW2DIGI,L1Reco,RECO,PAT,VALIDATION:@standardValidationNoHLT+@miniAODValidation,DQM:@standardDQMFakeHLT+@miniAODDQM',
'--datatier':'GEN-SIM-RECO,MINIAODSIM,DQMIO',
'--eventcontent':'RECOSIM,MINIAODSIM,DQM',
'--era':'Run3_pp_on_PbPb',
'--procModifiers':'genJetSubEvent',
},step3Up2015Defaults])
steps['REMINIAODHI2023PPRECOMB']=merge([{'-s':'PAT,VALIDATION:@miniAODValidation,DQM:@miniAODDQM',
'--datatier':'MINIAODSIM,DQMIO',
'--eventcontent':'MINIAODSIM,DQM',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@
'2021postEEPU',
'2023FS',
'2023FSPU',
'2022HI',
'2022HIRP', #RawPrime
'2023HI',
'2023HIRP', #RawPrime
]

upgradeKeys[2026] = [
Expand Down Expand Up @@ -249,7 +253,7 @@ def __init__(self, steps, PU, suffix, offset):
steps = steps + ["ALCA","Nano"]
super().__init__(steps, PU, suffix, offset)
def condition(self, fragment, stepList, key, hasHarvest):
result = (fragment=="TTbar_13" or fragment=="TTbar_14TeV") and not 'PU' in key and hasHarvest and self.condition_(fragment, stepList, key, hasHarvest)
result = (fragment=="TTbar_13" or fragment=="TTbar_14TeV" or 'Hydjet' in fragment) and not 'PU' in key and hasHarvest and self.condition_(fragment, stepList, key, hasHarvest)
return result
def condition_(self, fragment, stepList, key, hasHarvest):
return True
Expand Down Expand Up @@ -370,7 +374,7 @@ def setup__(self, step, stepName, stepDict, k, properties):
elif 'ALCA' in step: stepDict[stepName][k] = None
elif 'HARVEST' in step: stepDict[stepName][k] = merge([{'-s': 'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM'}, stepDict[step][k]])
def condition_(self, fragment, stepList, key, hasHarvest):
return ('2017' in key or '2018' in key or '2021' in key or '2026' in key) and ('FS' not in key)
return ('2017' in key or '2018' in key or '2021' in key or '2026' in key or 'HI' in key) and ('FS' not in key)
upgradeWFs['pixelTrackingOnly'] = UpgradeWorkflow_pixelTrackingOnly(
steps = [
'Reco',
Expand Down Expand Up @@ -831,7 +835,8 @@ def condition(self, fragment, stepList, key, hasHarvest):
('2018' in key and fragment == "ZMM_13"),
('2021' in key and fragment == "ZMM_14" and 'FS' not in key),
('2023' in key and fragment == "ZMM_14" and 'FS' not in key),
('2026D88' in key and fragment == "TTbar_14TeV" and "PixelOnly" in self.suffix)
('2026D88' in key and fragment == "TTbar_14TeV" and "PixelOnly" in self.suffix),
(('HI' in key) and 'Hydjet' in fragment and "PixelOnly" in self.suffix )
]
result = any(selected) and hasHarvest

Expand Down Expand Up @@ -2445,9 +2450,10 @@ def condition(self, fragment, stepList, key, hasHarvest):

class UpgradeWorkflow_DDDDB(UpgradeWorkflow):
def setup_(self, step, stepName, stepDict, k, properties):
if 'Run3' in stepDict[step][k]['--era'] and '2023' not in stepDict[step][k]['--era'] and 'Fast' not in stepDict[step][k]['--era']:
the_era = stepDict[step][k]['--era']
if 'Run3' in the_era and '2023' not in the_era and 'Fast' not in the_era and "Pb" not in the_era:
# retain any other eras
tmp_eras = stepDict[step][k]['--era'].split(',')
tmp_eras = the_era.split(',')
tmp_eras[tmp_eras.index("Run3")] = 'Run3_DDD'
tmp_eras = ','.join(tmp_eras)
stepDict[stepName][k] = merge([{'--conditions': 'auto:phase1_2022_realistic_ddd', '--geometry': 'DB:Extended', '--era': tmp_eras}, stepDict[step][k]])
Expand Down Expand Up @@ -2622,6 +2628,38 @@ def condition(self, fragment, stepList, key, hasHarvest):
'BeamSpot': 'Realistic25ns13p6TeVEarly2022Collision',
'ScenToRun' : ['Gen','FastSimRun3','HARVESTFastRun3'],
},
'2022HI' : {
'Geom' : 'DB:Extended',
'GT':'auto:phase1_2022_realistic_hi',
'HLTmenu': '@fake2',
'Era':'Run3_pp_on_PbPb',
'BeamSpot': 'Realistic2022PbPbCollision',
'ScenToRun' : ['GenSim','Digi','RecoNano','HARVESTNano','ALCA'],
},
'2022HIRP' : {
'Geom' : 'DB:Extended',
'GT':'auto:phase1_2022_realistic_hi',
'HLTmenu': '@fake2',
'Era':'Run3_pp_on_PbPb_approxSiStripClusters',
'BeamSpot': 'Realistic2022PbPbCollision',
'ScenToRun' : ['GenSim','Digi','RecoNano','HARVESTNano','ALCA'],
},
'2023HI' : {
'Geom' : 'DB:Extended',
'GT':'auto:phase1_2023_realistic_hi',
'HLTmenu': '@fake2',
'Era':'Run3_pp_on_PbPb',
'BeamSpot': 'Realistic2022PbPbCollision',
'ScenToRun' : ['GenSim','Digi','RecoNano','HARVESTNano','ALCA'],
},
'2023HIRP' : {
'Geom' : 'DB:Extended',
'GT':'auto:phase1_2023_realistic_hi',
'HLTmenu': '@fake2',
'Era':'Run3_pp_on_PbPb_approxSiStripClusters',
'BeamSpot': 'Realistic2022PbPbCollision',
'ScenToRun' : ['GenSim','Digi','RecoNano','HARVESTNano','ALCA'],
}
}

# standard PU sequences
Expand Down Expand Up @@ -2900,4 +2938,6 @@ def __init__(self, howMuch, dataset):
('LbToJpsiLambda_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',UpgradeFragment(Mby(66,660000),'LbToJpsiLambda_DGamma0_13p6TeV')), #0.3%
('LbToJpsiXiK0sPi_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',UpgradeFragment(Mby(50,500000),'LbToJpsiXiK0sPr_DGamma0_13p6TeV')), #0.6%
('OmegaMinus_13p6TeV_SoftQCDInel_TuneCP5_cfi',UpgradeFragment(Mby(100,1000000),'OmegaMinus_13p6TeV')), #0.1%
('Hydjet_Quenched_MinBias_5020GeV_cfi', UpgradeFragment(Kby(9,100),'HydjetQMinBias_5020GeV')),
('Hydjet_Quenched_MinBias_5362GeV_cfi', UpgradeFragment(Kby(9,100),'HydjetQMinBias_5362GeV'))
])
2 changes: 2 additions & 0 deletions DQM/SiPixelHeterogeneous/plugins/SiPixelCompareRecHitsSoA.cc
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,8 @@ void SiPixelCompareRecHitsSoA<T>::fillDescriptions(edm::ConfigurationDescription

using SiPixelPhase1CompareRecHitsSoA = SiPixelCompareRecHitsSoA<pixelTopology::Phase1>;
using SiPixelPhase2CompareRecHitsSoA = SiPixelCompareRecHitsSoA<pixelTopology::Phase2>;
using SiPixelHIonPhase1CompareRecHitsSoA = SiPixelCompareRecHitsSoA<pixelTopology::HIonPhase1>;

DEFINE_FWK_MODULE(SiPixelPhase1CompareRecHitsSoA);
DEFINE_FWK_MODULE(SiPixelPhase2CompareRecHitsSoA);
DEFINE_FWK_MODULE(SiPixelHIonPhase1CompareRecHitsSoA);
2 changes: 2 additions & 0 deletions DQM/SiPixelHeterogeneous/plugins/SiPixelCompareTrackSoA.cc
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,8 @@ void SiPixelCompareTrackSoA<T>::fillDescriptions(edm::ConfigurationDescriptions&

using SiPixelPhase1CompareTrackSoA = SiPixelCompareTrackSoA<pixelTopology::Phase1>;
using SiPixelPhase2CompareTrackSoA = SiPixelCompareTrackSoA<pixelTopology::Phase2>;
using SiPixelHIonPhase1CompareTrackSoA = SiPixelCompareTrackSoA<pixelTopology::HIonPhase1>;

DEFINE_FWK_MODULE(SiPixelPhase1CompareTrackSoA);
DEFINE_FWK_MODULE(SiPixelPhase2CompareTrackSoA);
DEFINE_FWK_MODULE(SiPixelHIonPhase1CompareTrackSoA);
2 changes: 2 additions & 0 deletions DQM/SiPixelHeterogeneous/plugins/SiPixelMonitorRecHitsSoA.cc
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,8 @@ void SiPixelMonitorRecHitsSoA<T>::fillDescriptions(edm::ConfigurationDescription

using SiPixelPhase1MonitorRecHitsSoA = SiPixelMonitorRecHitsSoA<pixelTopology::Phase1>;
using SiPixelPhase2MonitorRecHitsSoA = SiPixelMonitorRecHitsSoA<pixelTopology::Phase2>;
using SiPixelHIonPhase1MonitorRecHitsSoA = SiPixelMonitorRecHitsSoA<pixelTopology::HIonPhase1>;

DEFINE_FWK_MODULE(SiPixelPhase1MonitorRecHitsSoA);
DEFINE_FWK_MODULE(SiPixelPhase2MonitorRecHitsSoA);
DEFINE_FWK_MODULE(SiPixelHIonPhase1MonitorRecHitsSoA);
2 changes: 2 additions & 0 deletions DQM/SiPixelHeterogeneous/plugins/SiPixelMonitorTrackSoA.cc
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,8 @@ void SiPixelMonitorTrackSoA<T>::fillDescriptions(edm::ConfigurationDescriptions&

using SiPixelPhase1MonitorTrackSoA = SiPixelMonitorTrackSoA<pixelTopology::Phase1>;
using SiPixelPhase2MonitorTrackSoA = SiPixelMonitorTrackSoA<pixelTopology::Phase2>;
using SiPixelHIonPhase1MonitorTrackSoA = SiPixelMonitorTrackSoA<pixelTopology::HIonPhase1>;

DEFINE_FWK_MODULE(SiPixelPhase1MonitorTrackSoA);
DEFINE_FWK_MODULE(SiPixelPhase2MonitorTrackSoA);
DEFINE_FWK_MODULE(SiPixelHIonPhase1MonitorTrackSoA);
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
import FWCore.ParameterSet.Config as cms
from DQM.SiPixelHeterogeneous.siPixelPhase1MonitorRecHitsSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelPhase2MonitorRecHitsSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelHIonPhase1MonitorRecHitsSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelPhase1MonitorTrackSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelPhase2MonitorTrackSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelHIonPhase1MonitorTrackSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelMonitorVertexSoA_cfi import *

# Run-3 sequence
Expand All @@ -14,12 +16,20 @@
_monitorpixelSoARecHitsSource = cms.Sequence(siPixelPhase2MonitorRecHitsSoA * siPixelPhase2MonitorTrackSoA * siPixelMonitorVertexSoA)
phase2_tracker.toReplaceWith(monitorpixelSoASource, _monitorpixelSoARecHitsSource)

# HIon Phase 1 sequence
from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA

_monitorpixelSoARecHitsSourceHIon = cms.Sequence(siPixelHIonPhase1MonitorRecHitsSoA * siPixelHIonPhase1MonitorTrackSoA * siPixelMonitorVertexSoA)
(pp_on_AA & ~phase2_tracker).toReplaceWith(monitorpixelSoASource, _monitorpixelSoARecHitsSourceHIon)

#Define the sequence for GPU vs CPU validation
#This should run:- individual monitor for the 2 collections + comparison module
from DQM.SiPixelHeterogeneous.siPixelPhase1CompareRecHitsSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelPhase2CompareRecHitsSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelHIonPhase1CompareRecHitsSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelPhase1CompareTrackSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelPhase2CompareTrackSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelHIonPhase1CompareTrackSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelCompareVertexSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelPhase1RawDataErrorComparator_cfi import *
from DQM.SiPixelPhase1Common.SiPixelPhase1RawData_cfi import *
Expand Down Expand Up @@ -64,6 +74,16 @@
TopFolderName = "SiPixelHeterogeneous/PixelRecHitsSoAGPU"
)

siPixelHIonPhase1MonitorRecHitsSoACPU = siPixelHIonPhase1MonitorRecHitsSoA.clone(
pixelHitsSrc = "siPixelRecHitsPreSplittingSoA@cpu",
TopFolderName = "SiPixelHeterogeneous/PixelRecHitsSoACPU"
)

siPixelHIonPhase1MonitorRecHitsSoAGPU = siPixelHIonPhase1MonitorRecHitsSoA.clone(
pixelHitsSrc = "siPixelRecHitsPreSplittingSoA@cuda",
TopFolderName = "SiPixelHeterogeneous/PixelRecHitsSoAGPU"
)

## tracks
siPixelPhase1MonitorTrackSoACPU = siPixelPhase1MonitorTrackSoA.clone(
pixelTrackSrc = 'pixelTracksSoA@cpu',
Expand All @@ -85,6 +105,16 @@
topFolderName = 'SiPixelHeterogeneous/PixelTrackSoAGPU',
)

siPixelHIonPhase1MonitorTrackSoACPU = siPixelHIonPhase1MonitorTrackSoA.clone(
pixelTrackSrc = 'pixelTracksSoA@cpu',
topFolderName = 'SiPixelHeterogeneous/PixelTrackSoACPU',
)

siPixelHIonPhase1MonitorTrackSoAGPU = siPixelHIonPhase1MonitorTrackSoA.clone(
pixelTrackSrc = 'pixelTracksSoA@cuda',
topFolderName = 'SiPixelHeterogeneous/PixelTrackSoAGPU',
)

## vertices
siPixelMonitorVertexSoACPU = siPixelMonitorVertexSoA.clone(
pixelVertexSrc = 'pixelVerticesSoA@cpu',
Expand Down Expand Up @@ -121,6 +151,17 @@
siPixelMonitorVertexSoAGPU *
siPixelCompareVertexSoA)

# HIon sequence
_monitorpixelSoACompareSourceHIonPhase1 = cms.Sequence(siPixelHIonPhase1MonitorRecHitsSoACPU *
siPixelHIonPhase1MonitorRecHitsSoAGPU *
siPixelHIonPhase1CompareRecHitsSoA *
siPixelHIonPhase1MonitorTrackSoAGPU *
siPixelHIonPhase1MonitorTrackSoACPU *
siPixelHIonPhase1CompareTrackSoA *
siPixelMonitorVertexSoACPU *
siPixelMonitorVertexSoAGPU *
siPixelCompareVertexSoA)

phase2_tracker.toReplaceWith(monitorpixelSoACompareSource,_monitorpixelSoACompareSource)

from Configuration.ProcessModifiers.gpuValidationPixel_cff import gpuValidationPixel
Expand Down
Loading

0 comments on commit 9f75c01

Please sign in to comment.