Skip to content

Commit

Permalink
Only look at signal genParticles in validation for HiMix wf
Browse files Browse the repository at this point in the history
  • Loading branch information
mandrenguyen authored and mandrenguyen committed Oct 12, 2021
1 parent 208fad4 commit e8d493e
Show file tree
Hide file tree
Showing 7 changed files with 43 additions and 5 deletions.
17 changes: 14 additions & 3 deletions Configuration/PyReleaseValidation/python/relval_steps.py
Expand Up @@ -669,7 +669,7 @@ def identitySim(wf):
'CMSSW_10_6_0-PU25ns_106X_upgrade2018_realistic_v4_FastSim-v1',# 20 - fastSim premix library UP18
'CMSSW_10_6_0-106X_mc2017_realistic_v3-v1', # 21 - GEN-SIM inputs for LHE-GEN-SIM 2017 workflows
'CMSSW_10_6_0-106X_upgrade2018_realistic_v4-v1', # 22 - GEN-SIM inputs for LHE-GEN-SIM 2018 workflows
'CMSSW_11_2_0_pre8-112X_mcRun3_2021_realistic_HI_v11-v1', #23 - Run3 HI GEN-SIM for mixing
'CMSSW_12_1_0_pre4-121X_mcRun3_2021_realistic_HI_v10-v1', #23 - Run3 HI GEN-SIM for mixing
'CMSSW_11_2_0_pre8-PU_112X_upgrade2018_realistic_v4-v1', # 24 - 2018 Run-Dependent premix library
]

Expand Down Expand Up @@ -2551,6 +2551,19 @@ def gen2021HiMix(fragment,howMuch):
'--procModifiers':'genJetSubEvent',
},step3Up2015Defaults])

steps['RECOHI2021MIX']=merge([hiDefaults2021_ppReco,{'-s':'RAW2DIGI,L1Reco,RECO,EI,PAT,VALIDATION:@standardValidationNoHLTHiMix+@miniAODValidation,DQM:@standardDQMFakeHLT+@miniAODDQM',
'--pileup':'HiMix',
'--pileup_input':'das:/RelValHydjetQ_B12_5020GeV_2021_ppReco/%s/GEN-SIM'%(baseDataSetRelease[23])
},step3Up2015Defaults])


steps['RECOHIMIX']=merge([hiDefaults2018_ppReco,{'-s':'RAW2DIGI,L1Reco,RECO,EI,PAT,VALIDATION:@standardValidationNoHLTHiMix+@miniAODValidation,DQM:@standardDQMFakeHLT+@miniAODDQM',
'--era':'Run2_2018_pp_on_AA',
'--pileup':'HiMix',
'--pileup_input':'das:/RelValHydjetQ_B12_5020GeV_2018/%s/GEN-SIM'%(baseDataSetRelease[9])
},step3Up2015Defaults])


steps['REMINIAODHI2018PPRECO']=merge([{'-s':'PAT,VALIDATION:@miniAODValidation,DQM:@miniAODDQM',
'--datatier':'MINIAODSIM,DQMIO',
'--eventcontent':'MINIAODSIM,DQM',
Expand Down Expand Up @@ -2720,8 +2733,6 @@ def gen2021HiMix(fragment,howMuch):
'--filein':'file:PromptCalibProdEcalPedestals.root'}

steps['RECOHISt4']=steps['RECOHI2015']
steps['RECOHI2021MIX']=merge([steps['RECOHI2021PPRECO'],{'--pileup':'HiMix','--pileup_input':'das:/RelValHydjetQ_B12_5020GeV_2021_ppReco/%s/GEN-SIM'%(baseDataSetRelease[23])}])
steps['RECOHIMIX']=merge([steps['RECOHI2018PPRECO'],{'--pileup':'HiMix','--pileup_input':'das:/RelValHydjetQ_B12_5020GeV_2018/%s/GEN-SIM'%(baseDataSetRelease[9])}])

steps['ALCANZS']=merge([{'-s':'ALCA:HcalCalMinBias','--mc':''},step4Defaults])
steps['HARVESTGEN']={'-s':'HARVESTING:genHarvesting',
Expand Down
11 changes: 11 additions & 0 deletions Configuration/StandardSequences/python/Validation_cff.py
Expand Up @@ -56,6 +56,17 @@
validation = cms.Sequence(validationNoHLT
*hltvalidation)

validationNoHLTHiMix = cms.Sequence(
genvalid_all_hiMix
*globaldigisanalyze
*globalhitsanalyze
*globalrechitsanalyze
*globalValidation)
validationNoHLTHiMix.remove(condDataValidation) # foca d'ovatta !
validationHiMix = cms.Sequence(validationNoHLTHiMix
*hltvalidation)


_validation_fastsim = validation.copy()
for _entry in [globaldigisanalyze,globalhitsanalyze,globalrechitsanalyze,hltvalidation]:
_validation_fastsim.remove(_entry)
Expand Down
2 changes: 2 additions & 0 deletions Validation/Configuration/python/autoValidation.py
Expand Up @@ -15,6 +15,8 @@
'miniAODValidation' : ['prevalidationMiniAOD','validationMiniAOD','validationHarvestingMiniAOD'],
'standardValidation' : ['prevalidation','validation','validationHarvesting'],
'standardValidationNoHLT' : ['prevalidationNoHLT','validationNoHLT','validationHarvestingNoHLT'],
'standardValidationHiMix' : ['prevalidation','validationHiMix','validationHarvesting'],
'standardValidationNoHLTHiMix' : ['prevalidationNoHLT','validationNoHLTHiMix','validationHarvestingNoHLT'],
'HGCalValidation' : ['globalPrevalidationHGCal', 'globalValidationHGCal', 'hgcalValidatorPostProcessor'],
'MTDValidation' : ['', 'globalValidationMTD', 'mtdValidationPostProcessor'],
'OuterTrackerValidation' : ['', 'globalValidationOuterTracker', 'postValidationOuterTracker'],
Expand Down
Expand Up @@ -51,6 +51,7 @@ class BasicGenParticleValidation : public DQMEDAnalyzer {
double matchPr_;

unsigned int verbosity_;
bool signalParticlesOnly_;

MonitorElement *nEvt;

Expand Down
10 changes: 9 additions & 1 deletion Validation/EventGenerator/plugins/BasicGenParticleValidation.cc
Expand Up @@ -18,7 +18,8 @@ BasicGenParticleValidation::BasicGenParticleValidation(const edm::ParameterSet&
genparticleCollection_(iPSet.getParameter<edm::InputTag>("genparticleCollection")),
genjetCollection_(iPSet.getParameter<edm::InputTag>("genjetsCollection")),
matchPr_(iPSet.getParameter<double>("matchingPrecision")),
verbosity_(iPSet.getUntrackedParameter<unsigned int>("verbosity", 0)) {
verbosity_(iPSet.getUntrackedParameter<unsigned int>("verbosity", 0)),
signalParticlesOnly_(iPSet.getParameter<bool>("signalParticlesOnly")) {
hepmcCollectionToken_ = consumes<HepMCProduct>(hepmcCollection_);
genparticleCollectionToken_ = consumes<reco::GenParticleCollection>(genparticleCollection_);
genjetCollectionToken_ = consumes<reco::GenJetCollection>(genjetCollection_);
Expand Down Expand Up @@ -148,6 +149,13 @@ void BasicGenParticleValidation::analyze(const edm::Event& iEvent, const edm::Ev
unsigned int nReco = particles.size();
unsigned int nHepMC = hepmcGPCollection.size();

if (signalParticlesOnly_) {
for (unsigned int i = 0; i < particles.size(); ++i) {
if (particles[i]->collisionId() != 0)
nReco -= 1;
}
}

genPMultiplicity->Fill(std::log10(nReco), weight);

// Define vector containing index of hepmc corresponding to the reco::GenParticle
Expand Down
Expand Up @@ -7,5 +7,8 @@
genjetsCollection = cms.InputTag("ak4GenJets",""),
matchingPrecision = cms.double(0.001),
verbosity = cms.untracked.uint32(0),
UseWeightFromHepMC = cms.bool(True)
UseWeightFromHepMC = cms.bool(True),
signalParticlesOnly = cms.bool(False)
)

basicGenParticleValidationHiMix = basicGenParticleValidation.clone(signalParticlesOnly = True)
2 changes: 2 additions & 0 deletions Validation/EventGenerator/python/BasicGenValidation_cff.py
Expand Up @@ -31,6 +31,7 @@

# define sequences...
basicGenTest_seq = cms.Sequence(basicHepMCValidation+basicGenParticleValidation)
basicGenTestHiMix_seq = cms.Sequence(basicHepMCValidation+basicGenParticleValidationHiMix)
duplicationChecker_seq = cms.Sequence(duplicationChecker)
mbueAndqcdValidation_seq = cms.Sequence(mbueAndqcd_seq)
drellYanValidation_seq = cms.Sequence(drellYanEleValidation+drellYanMuoValidation)
Expand All @@ -50,4 +51,5 @@
genvalid_top = cms.Sequence(basicGenTest_seq+mbueAndqcdValidation_seq+TTbarfull_seq)
genvalid_higgs = cms.Sequence(basicGenTest_seq+mbueAndqcdValidation_seq+higgsvalidation_seq)
genvalid_all = cms.Sequence(basicGenTest_seq+mbueAndqcdValidation_seq+drellYanValidation_seq+wValidation_seq+tauValidation_seq+TTbarfull_seq+higgsValidation+bphysics)
genvalid_all_hiMix = cms.Sequence(basicGenTestHiMix_seq+mbueAndqcdValidation_seq+drellYanValidation_seq+wValidation_seq+tauValidation_seq+TTbarfull_seq+higgsValidation+bphysics)
genvalid_all_and_dup_check = cms.Sequence(duplicationChecker_seq+genvalid_all)

0 comments on commit e8d493e

Please sign in to comment.