Skip to content

Commit

Permalink
Merge pull request #18011 from smoortga/BDHadronTrackMonitoringInStan…
Browse files Browse the repository at this point in the history
…dardValidationSequence

BD hadron track monitoring in standard validation sequence
  • Loading branch information
cmsbuild committed Apr 12, 2017
2 parents 48c9eb3 + 101926b commit 257686a
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 10 deletions.
2 changes: 2 additions & 0 deletions Validation/Configuration/python/globalValidation_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
from Validation.RecoTau.DQMMCValidation_cfi import *
from Validation.L1T.L1Validator_cfi import *
from DQMOffline.RecoB.dqmAnalyzer_cff import *
from Validation.RecoB.BDHadronTrackValidation_cff import *

# filter/producer "pre-" sequence for globalValidation
globalPrevalidationTracking = cms.Sequence(
Expand Down Expand Up @@ -91,6 +92,7 @@
+ pfTauRunDQMValidation
+ bTagPlotsMCbcl
+ L1Validator
+ bdHadronTrackValidationSeq
)


Expand Down
2 changes: 2 additions & 0 deletions Validation/Configuration/python/postValidation_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
from Validation.RecoEgamma.photonPostProcessor_cff import *
from Validation.RecoEgamma.electronPostValidationSequence_cff import *
from Validation.RecoEgamma.electronPostValidationSequenceMiniAOD_cff import *
from Validation.RecoB.BDHadronTrackValidation_cff import *
from Validation.RecoParticleFlow.PFValidationClient_cff import *
from Validation.RPCRecHits.postValidation_cfi import *
from Validation.RecoTau.DQMMCValidation_cfi import *
Expand All @@ -37,6 +38,7 @@
+ runTauEff + makeBetterPlots
+ bTagCollectorSequenceMCbcl
+ METPostProcessor
+ bdHadronTrackPostProcessor
)
from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel

Expand Down
8 changes: 6 additions & 2 deletions Validation/RecoB/plugins/BDHadronTrackMonitoringAnalyzer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ BDHadronTrackMonitoringAnalyzer::BDHadronTrackMonitoringAnalyzer(const edm::Para

void BDHadronTrackMonitoringAnalyzer::bookHistograms(DQMStore::IBooker & ibook, edm::Run const & run, edm::EventSetup const & es)
{
ibook.setCurrentFolder("BDHadronTracks/JetContent");
//
// Book all histograms.
//
Expand All @@ -59,6 +60,7 @@ void BDHadronTrackMonitoringAnalyzer::bookHistograms(DQMStore::IBooker & ibook,

// Loop over different Track History Categories
for (unsigned int i = 0; i < TrkHistCat.size(); i++){
ibook.setCurrentFolder("BDHadronTracks/JetContent");
// b jets
nTrk_bjet[i] = ibook.book1D("nTrk_bjet_"+TrkHistCat[i],"Number of selected tracks in b jets ("+TrkHistCat[i]+");number of selected tracks ("+TrkHistCat[i]+");jets",16,-0.5,15.5);

Expand All @@ -68,7 +70,7 @@ void BDHadronTrackMonitoringAnalyzer::bookHistograms(DQMStore::IBooker & ibook,
// dusg jets
nTrk_dusgjet[i] = ibook.book1D("nTrk_dusgjet_"+TrkHistCat[i],"Number of selected tracks in dusg jets ("+TrkHistCat[i]+");number of selected tracks ("+TrkHistCat[i]+");jets",16,-0.5,15.5);


ibook.setCurrentFolder("BDHadronTracks/TrackInfo");
// track properties for all flavours combined
TrkPt_alljets[i] = ibook.book1D("TrkPt_"+TrkHistCat[i],"Track pT ("+TrkHistCat[i]+");track p_{T} ("+TrkHistCat[i]+");tracks",30,0,100);
TrkEta_alljets[i] = ibook.book1D("TrkEta_"+TrkHistCat[i],"Track #eta ("+TrkHistCat[i]+");track #eta ("+TrkHistCat[i]+");tracks",30,-2.5,2.5);
Expand All @@ -78,6 +80,8 @@ void BDHadronTrackMonitoringAnalyzer::bookHistograms(DQMStore::IBooker & ibook,
TrkHitAll_alljets[i] = ibook.book1D("TrkHitAll_"+TrkHistCat[i],"Number of tracker hits ("+TrkHistCat[i]+");track number of all hits ("+TrkHistCat[i]+");tracks",31,-0.5,30.5);
TrkHitStrip_alljets[i] = ibook.book1D("TrkHitStrip_"+TrkHistCat[i],"Number of strip hits ("+TrkHistCat[i]+");track number of strip hits ("+TrkHistCat[i]+");tracks",31,-0.5,30.5);
TrkHitPixel_alljets[i] = ibook.book1D("TrkHitPixel_"+TrkHistCat[i],"Number of pixel hits ("+TrkHistCat[i]+");track number of pixel hits ("+TrkHistCat[i]+");tracks",9,-0.5,8.5);

ibook.setCurrentFolder("BDHadronTracks/TrackTruthInfo");
if (i < 5){ // Fakes (i == 5) have no truth by definition!
TrkTruthPt_alljets[i] = ibook.book1D("TrkTruthPt_"+TrkHistCat[i],"Track pT ("+TrkHistCat[i]+" Truth);track p_{T} ("+TrkHistCat[i]+" Truth);tracks",30,0,100);
TrkTruthEta_alljets[i] = ibook.book1D("TrkTruthEta_"+TrkHistCat[i],"Track #eta ("+TrkHistCat[i]+" Truth);track #eta ("+TrkHistCat[i]+" Truth);tracks",30,-2.5,2.5);
Expand Down Expand Up @@ -150,7 +154,7 @@ void BDHadronTrackMonitoringAnalyzer::analyze(const edm::Event& iEvent, const ed

unsigned int flav = abs(jet->hadronFlavour());


//std::cout << "patJet collection has pfImpactParameterTagInfo?: " << jet->hasTagInfo("pfImpactParameter") << std::endl;
const CandIPTagInfo *trackIpTagInfo = jet->tagInfoCandIP(ipTagInfos_.c_str());
const std::vector<edm::Ptr<reco::Candidate> > & selectedTracks( trackIpTagInfo->selectedTracks() );

Expand Down
17 changes: 9 additions & 8 deletions Validation/RecoB/plugins/BDHadronTrackMonitoringHarvester.cc
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ void BDHadronTrackMonitoringHarvester::dqmEndJob(DQMStore::IBooker & ibook, DQMS
//
// ***********************
RecoBTag::setTDRStyle();
ibook.setCurrentFolder("BDHadronTracks/JetContent");

// b jets
// absolute average number of tracks
Expand Down Expand Up @@ -108,27 +109,27 @@ void BDHadronTrackMonitoringHarvester::dqmEndJob(DQMStore::IBooker & ibook, DQMS
// get all the old histograms
//
// ***********************

// b jets
MonitorElement *nTrk_bjet[6];
for(unsigned int i = 0; i < BDHadronTrackMonitoringAnalyzer::TrkHistCat.size(); i++) {
nTrk_bjet[i] = iget.get("nTrk_bjet_"+BDHadronTrackMonitoringAnalyzer::TrkHistCat[i]);
nTrk_bjet[i] = iget.get("BDHadronTracks/JetContent/nTrk_bjet_"+BDHadronTrackMonitoringAnalyzer::TrkHistCat[i]);
}
MonitorElement *nTrkAll_bjet = iget.get("nTrkAll_bjet");

MonitorElement *nTrkAll_bjet = iget.get("BDHadronTracks/JetContent/nTrkAll_bjet");
// c jets
MonitorElement *nTrk_cjet[6];
for(unsigned int i = 0; i < BDHadronTrackMonitoringAnalyzer::TrkHistCat.size(); i++) {
nTrk_cjet[i] = iget.get("nTrk_cjet_"+BDHadronTrackMonitoringAnalyzer::TrkHistCat[i]);
nTrk_cjet[i] = iget.get("BDHadronTracks/JetContent/nTrk_cjet_"+BDHadronTrackMonitoringAnalyzer::TrkHistCat[i]);
}
MonitorElement *nTrkAll_cjet = iget.get("nTrkAll_cjet");
MonitorElement *nTrkAll_cjet = iget.get("BDHadronTracks/JetContent/nTrkAll_cjet");

// dusg jets
MonitorElement *nTrk_dusgjet[6];
for(unsigned int i = 0; i < BDHadronTrackMonitoringAnalyzer::TrkHistCat.size(); i++) {
nTrk_dusgjet[i] = iget.get("nTrk_dusgjet_"+BDHadronTrackMonitoringAnalyzer::TrkHistCat[i]);
nTrk_dusgjet[i] = iget.get("BDHadronTracks/JetContent/nTrk_dusgjet_"+BDHadronTrackMonitoringAnalyzer::TrkHistCat[i]);
}
MonitorElement *nTrkAll_dusgjet = iget.get("nTrkAll_dusgjet");
MonitorElement *nTrkAll_dusgjet = iget.get("BDHadronTracks/JetContent/nTrkAll_dusgjet");



Expand Down
27 changes: 27 additions & 0 deletions Validation/RecoB/python/BDHadronTrackValidation_cff.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import FWCore.ParameterSet.Config as cms

# Need to add pfImpactParameterTagInfos to the pat jets --> make personal patJet collection
# and rerun PAT (because sometimes validation is ran without PAT sequence enables)
from PhysicsTools.PatAlgos.producersLayer1.jetProducer_cff import *
patJetsBDHadron = patJets.clone(
tagInfoSources = cms.VInputTag(cms.InputTag('pfImpactParameterTagInfos')),
addTagInfos = cms.bool(True)
)

# my analyzer
from Validation.RecoB.BDHadronTrackMonitoring_cfi import *
from SimTracker.TrackerHitAssociation.tpClusterProducer_cfi import *
BDHadronTrackMonitoringAnalyze.PatJetSource = cms.InputTag('patJetsBDHadron')

bdHadronTrackValidationSeq = cms.Sequence(patJetCorrections
* patJetCharge
* patJetPartonMatch
* patJetGenJetMatch
* patJetFlavourIdLegacy
* patJetFlavourId
* patJetsBDHadron
* tpClusterProducer
* BDHadronTrackMonitoringAnalyze
)

bdHadronTrackPostProcessor = cms.Sequence(BDHadronTrackMonitoringHarvest)

0 comments on commit 257686a

Please sign in to comment.