DESY Hbb Analysis Framework
ntuplizer_92X_data_2017_test.py
Go to the documentation of this file.
1 # For the ntuple production of prompt reco era Hv2
2 
3 import FWCore.ParameterSet.Config as cms
4 
5 process = cms.Process('MssmHbb')
6 
7 process.load('FWCore.MessageService.MessageLogger_cfi')
8 process.MessageLogger.cerr.FwkReport.reportEvery = cms.untracked.int32(100000)
9 
10 ## Using MINIAOD. GlobalTag just in case jet re-clustering, L1 trigger filter etc is needed to be done
11 process.load('Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff')
12 process.load('Configuration.Geometry.GeometryRecoDB_cff')
13 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
14 from Configuration.AlCa.GlobalTag import GlobalTag
15 process.GlobalTag = GlobalTag(process.GlobalTag, '92X_dataRun2_Prompt_v8')
16 
17 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) )
18 
19 output_file = 'ntuple.root'
20 ## TFileService
21 process.TFileService = cms.Service('TFileService',
22  fileName = cms.string(output_file)
23 )
24 
25 
26 ## ============ THE NTUPLIZER!!! ===============
27 process.MssmHbb = cms.EDAnalyzer('Ntuplizer',
28  MonteCarlo = cms.bool(False),
29  UseFullName = cms.bool(False),
30  ###################
31  TriggerResults = cms.VInputTag(cms.InputTag('TriggerResults','','HLT')),
32  TriggerPaths = cms.vstring (
33  ## I recommend using the version number explicitly to be able to compare
34  ## however for production one has to be careful that all versions are included.
35  ## Thinking of a better solution...
36 # physics triggers
37  'HLT_DoublePFJets100MaxDeta1p6_DoubleCaloBTagCSV_p33_v',
38  'HLT_Mu12_DoublePFJets40MaxDeta1p6_DoubleCaloBTagCSV_p33_v',
39  ),
40  L1Seeds = cms.vstring (
41  'L1_Mu12er2p3_Jet40er2p3_dR_Max0p4_DoubleJet40er2p3_dEta_Max1p6',
42  'L1_DoubleJet100er2p3_dEta_Max1p6',
43  'L1_DoubleJet112er2p3_dEta_Max1p6',
44  ),
45  TriggerObjectStandAlone = cms.VInputTag(
46  cms.InputTag('slimmedPatTrigger'),
47  ),
48  TriggerObjectLabels = cms.vstring (
49 
50  'hltL1DoubleJet100er2p3dEtaMax1p6',
51  'hltL1DoubleJet100er2p3dEtaMax1p6Ior112er2p3dEtaMax1p6',
52  'hltDoubleCaloBJets100eta2p3',
53  'hltBTagCalo80x6CSVp0p92DoubleWithMatching',
54  'hltDoublePFJets100Eta2p3',
55  'hltDoublePFJets100Eta2p3MaxDeta1p6',
56 
57  'hltL1Mu12er2p3Jet40er2p3dRMax0p4DoubleJet40er2p3dEtaMax1p6',
58  'hltL1fL1sMu12Dijet40L1Filtered0',
59  'hltDoubleCaloBJets30eta2p3',
60  'hltBTagCalo30x8CSVp0p92DoubleWithMatching',
61  'hltL3fL1sMu12Dijet40L1f0L2f8L3Filtered12',
62  'hltDoublePFBJets40Eta2p3',
63  'hltDoublePFJets40Eta2p3MaxDeta1p6',
64  'hltBSoftMuonDiJet40Mu12L3FilterByDR',
65 
66  ),
67  TriggerObjectSplits = cms.vstring (
68  'hltL1Mu12er2p3Jet40er2p3dRMax0p4DoubleJet40er2p3dEtaMax1p6',
69  ),
70  TriggerObjectSplitsTypes = cms.vstring (
71  'l1muon:l1jet',
72  ),
73 
74 
75 )
76 
77 process.p = cms.Path(
78  process.MssmHbb
79  )
80 
81 
82 readFiles = cms.untracked.vstring()
83 secFiles = cms.untracked.vstring()
84 process.source = cms.Source ('PoolSource',fileNames = readFiles, secondaryFileNames = secFiles)
85 readFiles.extend( [
86 # 'root://cms-xrd-global.cern.ch//store/data/Run2017F/BTagCSV/MINIAOD/PromptReco-v1/000/305/112/00000/02368BFC-A6B4-E711-AC9A-02163E01A4CB.root', # LS = [70,90]
87  'root://cms-xrd-global.cern.ch//store/data/Run2017F/BTagCSV/MINIAOD/PromptReco-v1/000/305/112/00000/F4D1DB92-50B4-E711-A8D2-02163E012205.root', # LS = [250,269]
88 ] );
89 
90 
91 secFiles.extend( [
92  ] )
93 
94 ## ============ JSON Certified data =============== BE CAREFUL!!!
95 ## Don't use with CRAB!!!
96 import FWCore.PythonUtilities.LumiList as LumiList
97 import FWCore.ParameterSet.Types as CfgTypes
98 process.source.lumisToProcess = CfgTypes.untracked(CfgTypes.VLuminosityBlockRange())
99 #JSONfile = 'json_305112_70to90.txt'
100 JSONfile = 'json_305112_250to269.txt'
101 myLumis = LumiList.LumiList(filename = JSONfile).getCMSSWString().split(',')
102 process.source.lumisToProcess.extend(myLumis)