Skip to content

Commit

Permalink
Update to CA and HIon pixel tracks
Browse files Browse the repository at this point in the history
  • Loading branch information
AdrianoDee committed May 11, 2023
1 parent a5f0f60 commit 048f9f1
Show file tree
Hide file tree
Showing 64 changed files with 861 additions and 203 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ 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 maxHitsInModule() { return 2048; }

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

constexpr int32_t maxNumClustersPerModules = maxHitsInModule();
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,7 @@ 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>;
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,7 @@ class TrackingRecHitSoAHost : public cms::cuda::PortableHostCollection<TrackingR

using TrackingRecHitSoAHostPhase1 = TrackingRecHitSoAHost<pixelTopology::Phase1>;
using TrackingRecHitSoAHostPhase2 = TrackingRecHitSoAHost<pixelTopology::Phase2>;
using TrackingRecHitSoAHostHIonPhase1 = TrackingRecHitSoAHost<pixelTopology::HIonPhase1>;
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: 3 additions & 0 deletions Configuration/PyReleaseValidation/python/relval_standard.py
Original file line number Diff line number Diff line change
Expand Up @@ -775,6 +775,9 @@
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
workflows[160.501] = ['',['HydjetQ_MinBias_5362GeV_2023_ppReco','DIGIHI2023PPRECO','RAWPRIMESIMHI18','RECOHI2023PPRECOMB_PatatrackCPU','MINIHI2023PROD']]
workflows[160.502] = ['',['HydjetQ_MinBias_5362GeV_2023_ppReco','DIGIHI2023PPRECO','RAWPRIMESIMHI18','RECOHI2023PPRECOMB_PatatrackGPU','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 @@ -2946,6 +2946,18 @@ def gen2022HiMix(fragment,howMuch):
'--era':'Run3_pp_on_PbPb',
'--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 @@ -239,7 +243,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 @@ -356,7 +360,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 @@ -785,7 +789,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 @@ -1395,6 +1400,36 @@ def setup_(self, step, stepName, stepDict, k, properties):
offset = 0.597,
)

class PatatrackWorkflowHI(PatatrackWorkflow):

def condition(self, fragment, stepList, key, hasHarvest):
# select only a subset of the workflows
selected = [
('Hydjet_Quenched' in fragment and "PixelOnly" in self.suffix )
]
result = any(selected) and hasHarvest

return result

def setup_(self, step, stepName, stepDict, k, properties):
# skip ALCA and Nano steps (but not RecoNano or HARVESTNano for Run3)
if 'ALCA' in step or 'Nano'==step:
stepDict[stepName][k] = None
elif 'Digi' in step:
if self.__digi is None:
stepDict[stepName][k] = None
else:
stepDict[stepName][k] = merge([self.__digi, stepDict[step][k]])
elif 'Reco' in step:
if self.__reco is None:
stepDict[stepName][k] = None
else:
stepDict[stepName][k] = merge([self.__reco, stepDict[step][k]])
elif 'HARVEST' in step:
if self.__harvest is None:
stepDict[stepName][k] = None
else:
stepDict[stepName][k] = merge([self.__harvest, stepDict[step][k]])

# end of Patatrack workflows

Expand Down Expand Up @@ -2263,7 +2298,8 @@ 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']:
theEra = stepDict[step][k]['--era']
if 'Run3' in stepDict[step][k]['--era'] and '2023' not in stepDict[step][k]['--era'] and 'Fast' not in theEra and "Pb" not in theEra:
# retain any other eras
tmp_eras = stepDict[step][k]['--era'].split(',')
tmp_eras[tmp_eras.index("Run3")] = 'Run3_DDD'
Expand Down Expand Up @@ -2428,6 +2464,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 @@ -2688,4 +2756,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'))
])
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
tests passed, failed
3 changes: 3 additions & 0 deletions DQM/SiPixelHeterogeneous/plugins/SiPixelCompareRecHitsSoA.cc
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,9 @@ void SiPixelCompareRecHitsSoA<T>::fillDescriptions(edm::ConfigurationDescription

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

DEFINE_FWK_MODULE(SiPixelPhase1CompareRecHitsSoA);
DEFINE_FWK_MODULE(SiPixelPhase2CompareRecHitsSoA);
DEFINE_FWK_MODULE(SiPixelHIonPhase1CompareRecHitsSoA);
3 changes: 3 additions & 0 deletions DQM/SiPixelHeterogeneous/plugins/SiPixelCompareTrackSoA.cc
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,9 @@ 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);

3 changes: 3 additions & 0 deletions DQM/SiPixelHeterogeneous/plugins/SiPixelMonitorRecHitsSoA.cc
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,9 @@ 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
@@ -1,8 +1,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 @@ -13,12 +15,21 @@
_monitorpixelSoARecHitsSource = cms.Sequence(siPixelPhase2MonitorRecHitsSoA * siPixelPhase2MonitorTrackSoA * siPixelMonitorVertexSoA)
phase2_tracker.toReplaceWith(monitorpixelSoASource, _monitorpixelSoARecHitsSource)

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

_monitorpixelSoARecHitsSourceHIon = cms.Sequence(siPixelHIonPhase1MonitorRecHitsSoA * siPixelHIonPhase1MonitorTrackSoA * siPixelMonitorVertexSoA)
(pp_on_PbPb_run3 | pp_on_AA).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 *

## rechits
Expand All @@ -42,6 +53,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 @@ -63,6 +84,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 @@ -96,6 +127,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 048f9f1

Please sign in to comment.