From 0902bc5a2be406fa5302c1d79bc461b27091d13d Mon Sep 17 00:00:00 2001 From: Inga Bucinskaite Date: Mon, 11 Nov 2013 11:22:41 -0600 Subject: [PATCH 01/11] Changing pt threshold to 5GeV --- HLTrigger/HLTanalyzers/src/HLTMCtruth.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/HLTrigger/HLTanalyzers/src/HLTMCtruth.cc b/HLTrigger/HLTanalyzers/src/HLTMCtruth.cc index 5320178883b2e..6e8413bfd3da0 100644 --- a/HLTrigger/HLTanalyzers/src/HLTMCtruth.cc +++ b/HLTrigger/HLTanalyzers/src/HLTMCtruth.cc @@ -98,7 +98,7 @@ void HLTMCtruth::analyze(const edm::Handle & mctruth, int pdgid = simTracks->at(j).type(); if (abs(pdgid)!=13) continue; double pt = simTracks->at(j).momentum().pt(); - if (pt<2.5) continue; + if (pt<5.) continue; double eta = simTracks->at(j).momentum().eta(); if (abs(eta)>2.5) continue; if (simTracks->at(j).noVertex()) continue; @@ -164,8 +164,8 @@ void HLTMCtruth::analyze(const edm::Handle & mctruth, // Set-up flags, based on Pythia-generator information, for avoiding double-counting events when // using both pp->{e,mu}X AND QCD samples - if (((mcpid[nmc]==13)||(mcpid[nmc]==-13))&&(mcpt[nmc]>2.5)) {mu3 += 1;} // Flag for muons with pT > 2.5 GeV/c - if (((mcpid[nmc]==11)||(mcpid[nmc]==-11))&&(mcpt[nmc]>2.5)) {el3 += 1;} // Flag for electrons with pT > 2.5 GeV/c + if (((mcpid[nmc]==13)||(mcpid[nmc]==-13))&&(mcpt[nmc]>5.0)) {mu3 += 1;} // Flag for muons with pT > 2.5 GeV/c + if (((mcpid[nmc]==11)||(mcpid[nmc]==-11))&&(mcpt[nmc]>5.0)) {el3 += 1;} // Flag for electrons with pT > 2.5 GeV/c if (mcpid[nmc]==-5) {mab += 1;} // Flag for bbar if (mcpid[nmc]==5) {mbb += 1;} // Flag for b From dab9701d5fb72826901f6b772b72559041b7772d Mon Sep 17 00:00:00 2001 From: Inga Bucinskaite Date: Fri, 22 Nov 2013 13:08:50 -0600 Subject: [PATCH 02/11] Fixing lepton double counting --- HLTrigger/HLTanalyzers/src/HLTMCtruth.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/HLTrigger/HLTanalyzers/src/HLTMCtruth.cc b/HLTrigger/HLTanalyzers/src/HLTMCtruth.cc index 6e8413bfd3da0..7e26b6ffd598b 100644 --- a/HLTrigger/HLTanalyzers/src/HLTMCtruth.cc +++ b/HLTrigger/HLTanalyzers/src/HLTMCtruth.cc @@ -63,6 +63,7 @@ void HLTMCtruth::setup(const edm::ParameterSet& pSet, TTree* HltTree) { HltTree->Branch("MCptEleMax",&ptEleMax,"MCptEleMax/F"); HltTree->Branch("MCptMuMax",&ptMuMax,"MCptMuMax/F"); HltTree->Branch("NPUTrueBX0",&npubx0, "NPUTrueBX0/I"); + HltTree->Branch("NPUgenBX0",&npuvertbx0, "NPUgenBX0/I"); } /* **Analyze the event** */ @@ -90,8 +91,10 @@ void HLTMCtruth::analyze(const edm::Handle & mctruth, ptMuMax = -999.0; pthatf = pthat; npubx0 = 0.0; + npuvertbx0 = 0; int npvtrue = 0; + int npuvert = 0; if((simTracks.isValid())&&(simVertices.isValid())){ for (unsigned int j=0; jsize(); j++) { @@ -118,10 +121,12 @@ void HLTMCtruth::analyze(const edm::Handle & mctruth, for(PVI = PupInfo->begin(); PVI != PupInfo->end(); ++PVI) { int BX = PVI->getBunchCrossing(); - npvtrue = PVI->getTrueNumInteractions(); + npvtrue = PVI->getTrueNumInteractions(); + npuvert = PVI->getPU_NumInteractions(); if(BX == 0) { npubx0+=npvtrue; + npuvertbx0+=npuvert; } } From 727f265ab5e7b19a1217b0d49bec4d3b52220056 Mon Sep 17 00:00:00 2001 From: Inga Bucinskaite Date: Fri, 22 Nov 2013 13:09:06 -0600 Subject: [PATCH 03/11] Fixing lepton double counting --- HLTrigger/HLTanalyzers/interface/HLTMCtruth.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HLTrigger/HLTanalyzers/interface/HLTMCtruth.h b/HLTrigger/HLTanalyzers/interface/HLTMCtruth.h index e9503d346555e..f2fea66d15d0f 100644 --- a/HLTrigger/HLTanalyzers/interface/HLTMCtruth.h +++ b/HLTrigger/HLTanalyzers/interface/HLTMCtruth.h @@ -47,7 +47,7 @@ class HLTMCtruth { float *mcvx, *mcvy, *mcvz, *mcpt, *mceta, *mcphi; int *mcpid, *mcstatus; int nmcpart,nmu3,nel3,nab,nbb,nwenu,nwmunu,nzee,nzmumu; - int npubx0; + int npubx0, npuvertbx0; float pthatf; float ptEleMax,ptMuMax; // input variables From f13123838d724de45fb7c814504829a927c56cf7 Mon Sep 17 00:00:00 2001 From: Inga Bucinskaite Date: Fri, 22 Nov 2013 13:09:48 -0600 Subject: [PATCH 04/11] Fixing lepton double counting --- .../test/HLTBitAnalysis_cfg_forQCDantiEMMu.py | 138 ++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 HLTrigger/HLTanalyzers/test/HLTBitAnalysis_cfg_forQCDantiEMMu.py diff --git a/HLTrigger/HLTanalyzers/test/HLTBitAnalysis_cfg_forQCDantiEMMu.py b/HLTrigger/HLTanalyzers/test/HLTBitAnalysis_cfg_forQCDantiEMMu.py new file mode 100644 index 0000000000000..587b054d434df --- /dev/null +++ b/HLTrigger/HLTanalyzers/test/HLTBitAnalysis_cfg_forQCDantiEMMu.py @@ -0,0 +1,138 @@ +import FWCore.ParameterSet.Config as cms + +################################################################## + +# useful options +gtDigisExist=0 # =1 use existing gtDigis on the input file, =0 extract gtDigis from the RAW data collection +isData=0 # =1 running on real data, =0 running on MC + +OUTPUT_HIST='hltbitsmc.root' +NEVTS=-1 + +################################################################## + +process = cms.Process("ANALYSIS") + +process.load("FWCore.MessageService.MessageLogger_cfi") +process.MessageLogger.cerr.FwkReport.reportEvery = 100 + +process.options = cms.untracked.PSet( + wantSummary = cms.untracked.bool(False) +) + +process.source = cms.Source("PoolSource", + skipBadFiles = cms.untracked.bool( True ), + fileNames = cms.untracked.vstring( +'root://xrootd.unl.edu//store/mc/Summer13dr53X/QCD_Pt-30to50_TuneZ2star_13TeV-pythia6/GEN-SIM-RAW/PU25bx25_START53_V19D-v1/20000/00330F89-44E3-E211-8550-E0CB4E19F981.root' +#'root://xrootd.unl.edu//store/mc/Summer13dr53X/QCD_Pt-30to50_MuEnrichedPt5_TuneZ2star_13TeV-pythia6/GEN-SIM-RAW/PU25bx25_START53_V19D-v1/20000/00C62B95-77E0-E211-8971-20CF305B04CC.root' +#'root://xrootd.unl.edu//store/mc/Summer13dr53X/QCD_Pt_30_80_EMEnriched_TuneZ2star_13TeV-pythia6/GEN-SIM-RAW/PU25bx25_START53_V19D-v1/20000/0042293B-89E1-E211-A506-485B39800B97.root' + ) +) + +process.maxEvents = cms.untracked.PSet( + input = cms.untracked.int32( NEVTS ), + skipBadFiles = cms.bool(True) + ) + +process.load('Configuration/StandardSequences/GeometryExtended_cff') +process.load('Configuration/StandardSequences/MagneticField_38T_cff') + +process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +process.GlobalTag.globaltag = 'START53_V19D::All' +process.GlobalTag.pfnPrefix=cms.untracked.string('frontier://FrontierProd/') + +process.load('Configuration/StandardSequences/SimL1Emulator_cff') +process.load("HLTrigger.HLTanalyzers.HLTopen_cff") + +# OpenHLT specificss +# Define the HLT reco paths +#process.load("HLTrigger.HLTanalyzers.HLT_FULL_cff") +# Remove the PrescaleService which, in 31X, it is expected once HLT_XXX_cff is imported + +process.DQM = cms.Service( "DQM",) +process.DQMStore = cms.Service( "DQMStore",) + +# AlCa OpenHLT specific settings + +# Define the analyzer modules +process.load("HLTrigger.HLTanalyzers.HLTBitAnalyser_cfi") +process.hltbitanalysis.hltresults = cms.InputTag( 'TriggerResults','','HLT' ) +process.hltbitanalysis.RunParameters.HistogramFile=OUTPUT_HIST +process.hltbitanalysis.l1GtObjectMapRecord = cms.InputTag("l1L1GtObjectMap::RECO") +process.hltbitanalysis.l1GtReadoutRecord = cms.InputTag("gtDigis::RECO") +process.hltbitanalysis.l1extramc = cms.string('l1extraParticles') +process.hltbitanalysis.l1extramu = cms.string('l1extraParticles') + + +process.mugenfilter = cms.EDFilter("MCSmartSingleParticleFilter", + MinPt = cms.untracked.vdouble(5.,5.), + MinEta = cms.untracked.vdouble(-2.5,-2.5), + MaxEta = cms.untracked.vdouble(2.5,2.5), + ParticleID = cms.untracked.vint32(13,-13), + Status = cms.untracked.vint32(1,1), + # Decay cuts are in mm + MaxDecayRadius = cms.untracked.vdouble(2000.,2000.), + MinDecayZ = cms.untracked.vdouble(-4000.,-4000.), + MaxDecayZ = cms.untracked.vdouble(4000.,4000.) +) + +process.genParticlesForFilter = cms.EDProducer("GenParticleProducer", + saveBarCodes = cms.untracked.bool(True), + src = cms.InputTag("generator"), + abortOnUnknownPDGCode = cms.untracked.bool(True) +) + +process.bctoefilter = cms.EDFilter("BCToEFilter", + filterAlgoPSet = cms.PSet(eTThreshold = cms.double(10), + genParSource = cms.InputTag("genParticlesForFilter") + ) + ) + + +process.emenrichingfilter = cms.EDFilter("EMEnrichingFilter", + filterAlgoPSet = cms.PSet(isoGenParETMin=cms.double(20.), + isoGenParConeSize=cms.double(0.1), + clusterThreshold=cms.double(20.), + isoConeSize=cms.double(0.2), + hOverEMax=cms.double(0.5), + tkIsoMax=cms.double(5.), + caloIsoMax=cms.double(10.), + requireTrackMatch=cms.bool(False), + genParSource = cms.InputTag("genParticlesForFilter") + ) + ) + + +if (gtDigisExist): + process.analyzeA = cms.Path(~process.mugenfilter * (process.genParticlesForFilter + process.bctoefilter + ~process.emenrichingfilter) * process.hltbitanalysis) + process.analyzeB = cms.Path(~process.mugenfilter * (process.genParticlesForFilter + process.emenrichingfilter + process.bctoefilter) * process.hltbitanalysis) + process.analyzeC = cms.Path(~process.mugenfilter * (process.genParticlesForFilter + ~process.emenrichingfilter + ~process.bctoefilter) * process.hltbitanalysis) +else: + process.analyzeA = cms.Path(process.HLTBeginSequence * ~process.mugenfilter * (process.genParticlesForFilter + process.bctoefilter + ~process.emenrichingfilter) * process.hltbitanalysis) + process.analyzeB = cms.Path(process.HLTBeginSequence * ~process.mugenfilter * (process.genParticlesForFilter + process.emenrichingfilter + process.bctoefilter) * process.hltbitanalysis) + process.analyzeC = cms.Path(process.HLTBeginSequence * ~process.mugenfilter * (process.genParticlesForFilter + ~process.emenrichingfilter + ~process.bctoefilter) * process.hltbitanalysis) + process.hltbitanalysis.l1GtReadoutRecord = cms.InputTag( 'hltGtDigis','',process.name_() ) + +# pdt +process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") + +# Schedule the whole thing +process.schedule = cms.Schedule( + process.analyzeA, + process.analyzeB, + process.analyzeC) + +######################################################################################### +# +#nc=0 +if (isData): # replace all instances of "rawDataCollector" with "source" in InputTags + from FWCore.ParameterSet import Mixins + for module in process.__dict__.itervalues(): + if isinstance(module, Mixins._Parameterizable): + for parameter in module.__dict__.itervalues(): + if isinstance(parameter, cms.InputTag): + if parameter.moduleLabel == 'rawDataCollector': + parameter.moduleLabel = 'source' + #print "Replacing in module: ", module + #nc=nc+1 +#print "Number of replacements: ", nc From d35042c1b3b680481dc6908a04b8a748b47036c4 Mon Sep 17 00:00:00 2001 From: Inga Bucinskaite Date: Fri, 22 Nov 2013 13:09:54 -0600 Subject: [PATCH 05/11] Fixing lepton double counting --- .../test/HLTBitAnalysis_cfg_forEMantiMu.py | 104 ++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 HLTrigger/HLTanalyzers/test/HLTBitAnalysis_cfg_forEMantiMu.py diff --git a/HLTrigger/HLTanalyzers/test/HLTBitAnalysis_cfg_forEMantiMu.py b/HLTrigger/HLTanalyzers/test/HLTBitAnalysis_cfg_forEMantiMu.py new file mode 100644 index 0000000000000..af2b06909e75e --- /dev/null +++ b/HLTrigger/HLTanalyzers/test/HLTBitAnalysis_cfg_forEMantiMu.py @@ -0,0 +1,104 @@ +import FWCore.ParameterSet.Config as cms + +################################################################## + +# useful options +gtDigisExist=0 # =1 use existing gtDigis on the input file, =0 extract gtDigis from the RAW data collection +isData=0 # =1 running on real data, =0 running on MC + +OUTPUT_HIST='hltbitsmc.root' +NEVTS=-1 + +################################################################## + +process = cms.Process("ANALYSIS") + +process.load("FWCore.MessageService.MessageLogger_cfi") +process.MessageLogger.cerr.FwkReport.reportEvery = 100 + +process.options = cms.untracked.PSet( + wantSummary = cms.untracked.bool(False) +) + +process.source = cms.Source("PoolSource", + skipBadFiles = cms.untracked.bool( True ), + fileNames = cms.untracked.vstring( +'root://xrootd.unl.edu//store/mc/Summer13dr53X/QCD_Pt_30_80_EMEnriched_TuneZ2star_13TeV-pythia6/GEN-SIM-RAW/PU25bx25_START53_V19D-v1/20000/0042293B-89E1-E211-A506-485B39800B97.root' + ) +) + +process.maxEvents = cms.untracked.PSet( + input = cms.untracked.int32( NEVTS ), + skipBadFiles = cms.bool(True) + ) + +process.load('Configuration/StandardSequences/GeometryExtended_cff') +process.load('Configuration/StandardSequences/MagneticField_38T_cff') + +process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +process.GlobalTag.globaltag = 'START53_V19D::All' +process.GlobalTag.pfnPrefix=cms.untracked.string('frontier://FrontierProd/') + +process.load('Configuration/StandardSequences/SimL1Emulator_cff') +process.load("HLTrigger.HLTanalyzers.HLTopen_cff") + +# OpenHLT specificss +# Define the HLT reco paths +#process.load("HLTrigger.HLTanalyzers.HLT_FULL_cff") +# Remove the PrescaleService which, in 31X, it is expected once HLT_XXX_cff is imported + +process.DQM = cms.Service( "DQM",) +process.DQMStore = cms.Service( "DQMStore",) + +# AlCa OpenHLT specific settings + +# Define the analyzer modules +process.load("HLTrigger.HLTanalyzers.HLTBitAnalyser_cfi") +process.hltbitanalysis.hltresults = cms.InputTag( 'TriggerResults','','HLT' ) +process.hltbitanalysis.RunParameters.HistogramFile=OUTPUT_HIST +process.hltbitanalysis.l1GtObjectMapRecord = cms.InputTag("l1L1GtObjectMap::RECO") +process.hltbitanalysis.l1GtReadoutRecord = cms.InputTag("gtDigis::RECO") +process.hltbitanalysis.l1extramc = cms.string('l1extraParticles') +process.hltbitanalysis.l1extramu = cms.string('l1extraParticles') + + +process.mugenfilter = cms.EDFilter("MCSmartSingleParticleFilter", + MinPt = cms.untracked.vdouble(5.,5.), + MinEta = cms.untracked.vdouble(-2.5,-2.5), + MaxEta = cms.untracked.vdouble(2.5,2.5), + ParticleID = cms.untracked.vint32(13,-13), + Status = cms.untracked.vint32(1,1), + # Decay cuts are in mm + MaxDecayRadius = cms.untracked.vdouble(2000.,2000.), + MinDecayZ = cms.untracked.vdouble(-4000.,-4000.), + MaxDecayZ = cms.untracked.vdouble(4000.,4000.) +) + + +if (gtDigisExist): + process.analyzeA = cms.Path(~process.mugenfilter * process.hltbitanalysis) +else: + process.analyzeA = cms.Path(process.HLTBeginSequence * ~process.mugenfilter * process.hltbitanalysis) + process.hltbitanalysis.l1GtReadoutRecord = cms.InputTag( 'hltGtDigis','',process.name_() ) + +# pdt +process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") + +# Schedule the whole thing +process.schedule = cms.Schedule( + process.analyzeA) + +######################################################################################### +# +#nc=0 +if (isData): # replace all instances of "rawDataCollector" with "source" in InputTags + from FWCore.ParameterSet import Mixins + for module in process.__dict__.itervalues(): + if isinstance(module, Mixins._Parameterizable): + for parameter in module.__dict__.itervalues(): + if isinstance(parameter, cms.InputTag): + if parameter.moduleLabel == 'rawDataCollector': + parameter.moduleLabel = 'source' + #print "Replacing in module: ", module + #nc=nc+1 +#print "Number of replacements: ", nc From f8a780acaa39ee89619c8f0d0100715eb3738b76 Mon Sep 17 00:00:00 2001 From: Inga Bucinskaite Date: Fri, 22 Nov 2013 13:09:59 -0600 Subject: [PATCH 06/11] Fixing lepton double counting --- .../test/HLTBitAnalysis_cfg_forMuantiEM.py | 124 ++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 HLTrigger/HLTanalyzers/test/HLTBitAnalysis_cfg_forMuantiEM.py diff --git a/HLTrigger/HLTanalyzers/test/HLTBitAnalysis_cfg_forMuantiEM.py b/HLTrigger/HLTanalyzers/test/HLTBitAnalysis_cfg_forMuantiEM.py new file mode 100644 index 0000000000000..cdf817f26447c --- /dev/null +++ b/HLTrigger/HLTanalyzers/test/HLTBitAnalysis_cfg_forMuantiEM.py @@ -0,0 +1,124 @@ +import FWCore.ParameterSet.Config as cms + +################################################################## + +# useful options +gtDigisExist=0 # =1 use existing gtDigis on the input file, =0 extract gtDigis from the RAW data collection +isData=0 # =1 running on real data, =0 running on MC + +OUTPUT_HIST='hltbitsmc.root' +NEVTS=-1 + +################################################################## + +process = cms.Process("ANALYSIS") + +process.load("FWCore.MessageService.MessageLogger_cfi") +process.MessageLogger.cerr.FwkReport.reportEvery = 100 + +process.options = cms.untracked.PSet( + wantSummary = cms.untracked.bool(False) +) + +process.source = cms.Source("PoolSource", + skipBadFiles = cms.untracked.bool( True ), + fileNames = cms.untracked.vstring( +'root://xrootd.unl.edu//store/mc/Summer13dr53X/QCD_Pt-30to50_MuEnrichedPt5_TuneZ2star_13TeV-pythia6/GEN-SIM-RAW/PU25bx25_START53_V19D-v1/20000/00C62B95-77E0-E211-8971-20CF305B04CC.root' + ) +) + +process.maxEvents = cms.untracked.PSet( + input = cms.untracked.int32( NEVTS ), + skipBadFiles = cms.bool(True) + ) + +process.load('Configuration/StandardSequences/GeometryExtended_cff') +process.load('Configuration/StandardSequences/MagneticField_38T_cff') + +process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +process.GlobalTag.globaltag = 'START53_V19D::All' +process.GlobalTag.pfnPrefix=cms.untracked.string('frontier://FrontierProd/') + +process.load('Configuration/StandardSequences/SimL1Emulator_cff') +process.load("HLTrigger.HLTanalyzers.HLTopen_cff") + +# OpenHLT specificss +# Define the HLT reco paths +#process.load("HLTrigger.HLTanalyzers.HLT_FULL_cff") +# Remove the PrescaleService which, in 31X, it is expected once HLT_XXX_cff is imported + +process.DQM = cms.Service( "DQM",) +process.DQMStore = cms.Service( "DQMStore",) + +# AlCa OpenHLT specific settings + +# Define the analyzer modules +process.load("HLTrigger.HLTanalyzers.HLTBitAnalyser_cfi") +process.hltbitanalysis.hltresults = cms.InputTag( 'TriggerResults','','HLT' ) +process.hltbitanalysis.RunParameters.HistogramFile=OUTPUT_HIST +process.hltbitanalysis.l1GtObjectMapRecord = cms.InputTag("l1L1GtObjectMap::RECO") +process.hltbitanalysis.l1GtReadoutRecord = cms.InputTag("gtDigis::RECO") +process.hltbitanalysis.l1extramc = cms.string('l1extraParticles') +process.hltbitanalysis.l1extramu = cms.string('l1extraParticles') + + +process.genParticlesForFilter = cms.EDProducer("GenParticleProducer", + saveBarCodes = cms.untracked.bool(True), + src = cms.InputTag("generator"), + abortOnUnknownPDGCode = cms.untracked.bool(True) +) + +process.bctoefilter = cms.EDFilter("BCToEFilter", + filterAlgoPSet = cms.PSet(eTThreshold = cms.double(10), + genParSource = cms.InputTag("genParticlesForFilter") + ) + ) + + +process.emenrichingfilter = cms.EDFilter("EMEnrichingFilter", + filterAlgoPSet = cms.PSet(isoGenParETMin=cms.double(20.), + isoGenParConeSize=cms.double(0.1), + clusterThreshold=cms.double(20.), + isoConeSize=cms.double(0.2), + hOverEMax=cms.double(0.5), + tkIsoMax=cms.double(5.), + caloIsoMax=cms.double(10.), + requireTrackMatch=cms.bool(False), + genParSource = cms.InputTag("genParticlesForFilter") + ) + ) + + +if (gtDigisExist): + process.analyzeA = cms.Path((process.genParticlesForFilter + ~process.emenrichingfilter + process.bctoefilter) * process.hltbitanalysis) + process.analyzeB = cms.Path((process.genParticlesForFilter + process.emenrichingfilter + process.bctoefilter) * process.hltbitanalysis) + process.analyzeC = cms.Path((process.genParticlesForFilter + ~process.emenrichingfilter + ~process.bctoefilter) * process.hltbitanalysis) +else: + process.analyzeA = cms.Path(process.HLTBeginSequence * (process.genParticlesForFilter + ~process.emenrichingfilter + process.bctoefilter) * process.hltbitanalysis) + process.analyzeB = cms.Path(process.HLTBeginSequence * (process.genParticlesForFilter + process.emenrichingfilter + process.bctoefilter) * process.hltbitanalysis) + process.analyzeC = cms.Path(process.HLTBeginSequence * (process.genParticlesForFilter + ~process.emenrichingfilter + ~process.bctoefilter) * process.hltbitanalysis) + process.hltbitanalysis.l1GtReadoutRecord = cms.InputTag( 'hltGtDigis','',process.name_() ) + +# pdt +process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") + +# Schedule the whole thing +process.schedule = cms.Schedule( + process.analyzeA, + process.analyzeB, + process.analyzeC) + +######################################################################################### +# +#nc=0 +if (isData): # replace all instances of "rawDataCollector" with "source" in InputTags + from FWCore.ParameterSet import Mixins + for module in process.__dict__.itervalues(): + if isinstance(module, Mixins._Parameterizable): + for parameter in module.__dict__.itervalues(): + if isinstance(parameter, cms.InputTag): + if parameter.moduleLabel == 'rawDataCollector': + parameter.moduleLabel = 'source' + #print "Replacing in module: ", module + #nc=nc+1 +#print "Number of replacements: ", nc From c842036f8c3a487b2453ac4d7cc6e1bb681ac500 Mon Sep 17 00:00:00 2001 From: Inga Bucinskaite Date: Fri, 22 Nov 2013 13:11:49 -0600 Subject: [PATCH 07/11] First commit --- .../HLTanalyzers/test/RateEff/leaftohisto.py | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 HLTrigger/HLTanalyzers/test/RateEff/leaftohisto.py diff --git a/HLTrigger/HLTanalyzers/test/RateEff/leaftohisto.py b/HLTrigger/HLTanalyzers/test/RateEff/leaftohisto.py new file mode 100644 index 0000000000000..c8342d3af7022 --- /dev/null +++ b/HLTrigger/HLTanalyzers/test/RateEff/leaftohisto.py @@ -0,0 +1,32 @@ +import math,ROOT +from ROOT import gStyle, gROOT, TFile, TChain, TTree, TH1F, TH1D, TF1, TCanvas, TLatex, SetOwnership + +outfile="NPVtx_new.root" +outf = TFile(outfile,"RECREATE"); +outf.cd() + +SetOwnership( outf, False ) # tell python not to take ownership +print "Output written to: ", outfile + + +fname = '/eos/uscms/store/user/ingabu/TMD/FixedNtuples/QCD_Pt-30to50_MuEnrichedPt5_TuneZ2star_13TeV_pythia6_25ns/hltbitsmc_34_1_qFL.root' + +f1 = TFile.Open(fname) + +tree = f1.Get("HltTree") + +NPV = TH1D("NPV","NPV",25, 0., 50.) + +tree.Draw("NPUgenBX0>>NPV", '' ,'goff') + + + +#raw_input('...') + + +outf.cd() +NPV.Write() +outf.Write() +outf.Close() +#f1.Close() + From 7110c5585d012d3ada394ed0e299286142092a48 Mon Sep 17 00:00:00 2001 From: Inga Bucinskaite Date: Fri, 22 Nov 2013 13:12:16 -0600 Subject: [PATCH 08/11] Fixing lepton double counting --- .../HLTanalyzers/test/RateEff/NPVtx_new.root | Bin 3582 -> 3593 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/HLTrigger/HLTanalyzers/test/RateEff/NPVtx_new.root b/HLTrigger/HLTanalyzers/test/RateEff/NPVtx_new.root index 5cfb64994751f85b6071ee0b13759beb76687a83..c21ed5026275e02b47ca37c2010de76511e2c635 100644 GIT binary patch delta 388 zcmew--6>;Vl%HS1z;ONo0|P?}0|Or?0|W1QAlnLv8G+b=1;SuzWnkd;Vql!MjsI29 zPr=92#aHip*u3xkL`OAV28J32kTM^y*Gw@Ji%i{t6p$GU6p98J0mML~L4ZjM(*%eN zjAZlz8O3xBqRTCqh@aslvv9IQj0NvA z1z|oOo+h3(2O3zJ66P#o$_&xVo7c?Ya_*pvSGx>@vCO9hC7*dY>btmF=GC(~>BliI zoc_|`h3amFFHHIzwrd%j%2gd+>|*1X%fC!QCTU@fzs6cd(e?;tuaJZWxpIbw`oT?N zKo>@Xy{QfMn*k_zn6xI};+38pz{Ca&8)SE@aD)8s09Mnwc>JFrU%!5FoXpj*=3^W=9nB*}{fXKi| zMthJ^OxHmAC%%(m4%bY7>%pI=Gh~lu0?%*yuQ+ zQB-1s14B=6h(hlv*AEGa4;7dMiwhbro#a2j)857`P<4ot!}c{>OWXv;h0j+yym*s6h}&mfrAF Date: Fri, 22 Nov 2013 13:13:14 -0600 Subject: [PATCH 09/11] Fixing lepton double counting --- HLTrigger/HLTanalyzers/test/crab.cfg | 37 ++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 HLTrigger/HLTanalyzers/test/crab.cfg diff --git a/HLTrigger/HLTanalyzers/test/crab.cfg b/HLTrigger/HLTanalyzers/test/crab.cfg new file mode 100644 index 0000000000000..fab43bfa7b163 --- /dev/null +++ b/HLTrigger/HLTanalyzers/test/crab.cfg @@ -0,0 +1,37 @@ +[CRAB] +jobtype = cmssw +scheduler = remoteglidein +#use_server = 1 + + +[CMSSW] +#datasetpath = /WToENu_TuneZ2star_13TeV-pythia6/Summer13dr53X-PU25bx25_START53_V19D-v1/AODSIM +datasetpath = /QCD_Pt-30to50_TuneZ2star_13TeV-pythia6/Summer13dr53X-PU25bx25_START53_V19D-v1/AODSIM +#datasetpath = /QCD_Pt-30to50_MuEnrichedPt5_TuneZ2star_13TeV-pythia6/Summer13dr53X-PU25bx25_START53_V19D-v1/AODSIM +pset = HLTBitAnalysis_cfg.py +get_edm_output = 1 +output_file = hltbitsmc.root + +total_number_of_events = -1 +#events_per_job=100000xs +number_of_jobs = 50 + + +[USER] +check_user_remote_dir = 0 +return_data = 0 +copy_data = 1 +storage_element = cmssrm.fnal.gov +#storage_element = cmseos.fnal.gov +storage_path = /srm/managerv2?SFN=/11/store/user/lpctrig/ingabu +#storage_path = /srm/v2/server?SFN=/eos/uscms +#user_remote_dir= /store/user/ingabu/TMD/MinBias8TeVNtuples3 +user_remote_dir= /TMDNtuples/QCD_Pt-30to50_TuneZ2star_13TeV_pythia6_25ns_v2 + +ui_working_dir= QCD_Pt-30to50_TuneZ2star_13TeV_pythia6_25ns_v2 +thresholdLevel=10 +#eMail=@cern.ch + +[GRID] + +ce_black_list = T2_EE_Estonia \ No newline at end of file From f5924f594bc5321b10f5d453eb664eb644ebf8c9 Mon Sep 17 00:00:00 2001 From: Inga Bucinskaite Date: Fri, 22 Nov 2013 13:13:41 -0600 Subject: [PATCH 10/11] Fixing lepton double counting --- HLTrigger/HLTanalyzers/test/RateEff/OHltTree.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/HLTrigger/HLTanalyzers/test/RateEff/OHltTree.cpp b/HLTrigger/HLTanalyzers/test/RateEff/OHltTree.cpp index 523954aa28bc1..c484dee9cad7d 100644 --- a/HLTrigger/HLTanalyzers/test/RateEff/OHltTree.cpp +++ b/HLTrigger/HLTanalyzers/test/RateEff/OHltTree.cpp @@ -286,8 +286,8 @@ void OHltTree::Loop( // Get PU weight if (cfg->isMCPUreweight == true) { - MyWeight = LumiWeights_.weight( recoNVrt ); - //MCPVwithPU->Fill(recoNVrt, MyWeight); + MyWeight = LumiWeights_.weight( genNVrt ); + //MCPVwithPU->Fill(genNVrt, MyWeight); } ////////////////////////////////////////////////////////////////// // Loop over trigger paths and do rate counting From b7d68d58575a83b62314fcb6ed112a21cb2aefcd Mon Sep 17 00:00:00 2001 From: Inga Bucinskaite Date: Fri, 22 Nov 2013 13:13:48 -0600 Subject: [PATCH 11/11] Fixing lepton double counting --- HLTrigger/HLTanalyzers/test/RateEff/OHltTree.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/HLTrigger/HLTanalyzers/test/RateEff/OHltTree.h b/HLTrigger/HLTanalyzers/test/RateEff/OHltTree.h index ad5e549c1e7ae..f2ea997802eb6 100644 --- a/HLTrigger/HLTanalyzers/test/RateEff/OHltTree.h +++ b/HLTrigger/HLTanalyzers/test/RateEff/OHltTree.h @@ -252,6 +252,7 @@ class OHltTree Int_t ohBJetPerfL25TagL1FastJet[10]; //[NohBJetL2CorrectedL1FastJet] Int_t ohBJetPerfL3TagL1FastJet[10]; //[NohBJetL2CorrectedL1FastJet] Int_t recoNVrt; // reconstructed vertex info + Int_t genNVrt; // generated vertex info Float_t recoVrtX[10]; // Float_t recoVrtY[10]; // Float_t recoVrtZ[10]; // @@ -4856,6 +4857,7 @@ class OHltTree TBranch *b_ohIsoPixelTrackHEL3Phi; //! TBranch *b_ohIsoPixelTrackHEL3MaxNearP; //! TBranch *b_recoNVrt; //! + TBranch *b_genNVrt; //! TBranch *b_recoVrtX; //! TBranch *b_recoVrtY; //! TBranch *b_recoVrtZ; //! @@ -11019,6 +11021,7 @@ void OHltTree::Init(TTree *tree) fChain->SetBranchAddress("ohpfTauTightConeLeadTrackPt", ohpfTauTightConeLeadTrackPt, &b_ohpfTauTightConeLeadTrackPt); fChain->SetBranchAddress("ohpfTauTightConeTrkIso", ohpfTauTightConeTrkIso, &b_ohpfTauTightConeTrkIso); fChain->SetBranchAddress("ohpfTauTightConeGammaIso", ohpfTauTightConeGammaIso, &b_ohpfTauTightConeGammaIso); + fChain->SetBranchAddress("NPUgenBX0", &genNVrt, &b_genNVrt); fChain->SetBranchAddress("recoNVrtOffline0", &recoNVrt, &b_recoNVrt); fChain->SetBranchAddress("recoVrtXOffline0", &recoVrtX, &b_recoVrtX); fChain->SetBranchAddress("recoVrtYOffline0", &recoVrtY, &b_recoVrtY);