Skip to content

Commit f2e8a15

Browse files
committed
Merge branch 'master' of github.com:tamshai/cms-opendata-2011-jets
2 parents 4e20631 + ee9435e commit f2e8a15

File tree

5 files changed

+184
-131
lines changed

5 files changed

+184
-131
lines changed

AnalysisFW/python/LocalProducer/LocalOpenDataTreeProducer.C

Lines changed: 86 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -156,48 +156,48 @@ void LocalOpenDataTreeProducer::Loop()
156156
TBranch *b_ak7_to_ak4 = tree->Branch("ak7_to_ak4", ak7_to_ak4, "ak7_to_ak4[njet_ak7]/I");
157157

158158
TBranch *b_chf = tree->Branch("chf", chf, "chf[njet]/F");
159-
TBranch *b_nhf = tree->Branch("nhf", nhf, "nhf[njet]/F");
160-
TBranch *b_phf = tree->Branch("phf", phf, "phf[njet]/F");
161-
TBranch *b_elf = tree->Branch("elf", elf, "elf[njet]/F");
162-
TBranch *b_muf = tree->Branch("muf", muf, "muf[njet]/F");
163-
164-
TBranch *b_hf_hf = tree->Branch("hf_hf", hf_hf, "hf_hf[njet]/F");
165-
TBranch *b_hf_phf = tree->Branch("hf_phf", hf_phf, "hf_phf[njet]/F");
166-
TBranch *b_hf_hm = tree->Branch("hf_hm", hf_hm, "hf_hm[njet]/i");
167-
TBranch *b_hf_phm = tree->Branch("hf_phm", hf_phm, "hf_phm[njet]/i");
168-
159+
TBranch *b_nhf = tree->Branch("nhf", nhf, "nhf[njet]/F");
160+
TBranch *b_phf = tree->Branch("phf", phf, "phf[njet]/F");
161+
TBranch *b_elf = tree->Branch("elf", elf, "elf[njet]/F");
162+
TBranch *b_muf = tree->Branch("muf", muf, "muf[njet]/F");
163+
164+
TBranch *b_hf_hf = tree->Branch("hf_hf", hf_hf, "hf_hf[njet]/F");
165+
TBranch *b_hf_phf = tree->Branch("hf_phf", hf_phf, "hf_phf[njet]/F");
166+
TBranch *b_hf_hm = tree->Branch("hf_hm", hf_hm, "hf_hm[njet]/i");
167+
TBranch *b_hf_phm = tree->Branch("hf_phm", hf_phm, "hf_phm[njet]/i");
168+
169169
TBranch *b_chm = tree->Branch("chm", chm, "chm[njet]/i");
170-
TBranch *b_nhm = tree->Branch("nhm", nhm, "nhm[njet]/i");
171-
TBranch *b_phm = tree->Branch("phm", phm, "phm[njet]/i");
172-
TBranch *b_elm = tree->Branch("elm", elm, "elm[njet]/i");
173-
TBranch *b_mum = tree->Branch("mum", mum, "mum[njet]/i");
170+
TBranch *b_nhm = tree->Branch("nhm", nhm, "nhm[njet]/i");
171+
TBranch *b_phm = tree->Branch("phm", phm, "phm[njet]/i");
172+
TBranch *b_elm = tree->Branch("elm", elm, "elm[njet]/i");
173+
TBranch *b_mum = tree->Branch("mum", mum, "mum[njet]/i");
174174

175-
TBranch *b_hof = tree->Branch("hof", hof, "hof[njet]/F");
176-
TBranch *b_beta = tree->Branch("beta", beta, "beta[njet]/F");
177-
TBranch *b_bstar = tree->Branch("bstar", bstar, "bstar[njet]/F");
178-
TBranch *b_qgl = tree->Branch("qgl", qgl, "qgl[njet]/F");
179-
175+
TBranch *b_hof = tree->Branch("hof", hof, "hof[njet]/F");
176+
TBranch *b_beta = tree->Branch("beta", beta, "beta[njet]/F");
177+
TBranch *b_bstar = tree->Branch("bstar", bstar, "bstar[njet]/F");
178+
TBranch *b_qgl = tree->Branch("qgl", qgl, "qgl[njet]/F");
179+
180180
if (isMC) {
181-
TBranch *b_ngen = tree->Branch("ngen", &ngen, "ngen/i");
182-
TBranch *b_gen_pt = tree->Branch("gen_pt", gen_pt, "gen_pt[ngen]/F");
183-
TBranch *b_gen_eta = tree->Branch("gen_eta", gen_eta, "gen_eta[ngen]/F");
184-
TBranch *b_gen_phi = tree->Branch("gen_phi", gen_eta, "gen_phi[ngen]/F");
185-
TBranch *b_gen_E = tree->Branch("gen_E", gen_E, "gen_E[ngen]/F");
181+
TBranch *b_ngen = tree->Branch("ngen", &ngen, "ngen/i");
182+
TBranch *b_gen_pt = tree->Branch("gen_pt", gen_pt, "gen_pt[ngen]/F");
183+
TBranch *b_gen_eta = tree->Branch("gen_eta", gen_eta, "gen_eta[ngen]/F");
184+
TBranch *b_gen_phi = tree->Branch("gen_phi", gen_eta, "gen_phi[ngen]/F");
185+
TBranch *b_gen_E = tree->Branch("gen_E", gen_E, "gen_E[ngen]/F");
186186
}
187187

188-
TBranch *b_run = tree->Branch("run", &run, "run/i");
189-
TBranch *b_lumi = tree->Branch("lumi", &lumi, "lumi/i");
190-
TBranch *b_event = tree->Branch("event", &event, "event/l");
188+
TBranch *b_run = tree->Branch("run", &run, "run/i");
189+
TBranch *b_lumi = tree->Branch("lumi", &lumi, "lumi/i");
190+
TBranch *b_event = tree->Branch("event", &event, "event/l");
191191

192-
TBranch *b_ntrg = tree->Branch("ntrg", &ntrg, "ntrg/i");
193-
TBranch *b_triggers = tree->Branch("triggers", triggers, "triggers[ntrg]/O");
192+
TBranch *b_ntrg = tree->Branch("ntrg", &ntrg, "ntrg/i");
193+
TBranch *b_triggers = tree->Branch("triggers", triggers, "triggers[ntrg]/O");
194194
TBranch *b_triggernames = tree->Branch("triggernames", &triggernames);
195-
TBranch *b_prescales = tree->Branch("prescales", prescales, "prescales[ntrg]/i");
195+
TBranch *b_prescales = tree->Branch("prescales", prescales, "prescales[ntrg]/i");
196196

197-
TBranch *b_met = tree->Branch("met", &met, "met/F");
198-
TBranch *b_sumet = tree->Branch("sumet", &sumet, "sumet/F");
199-
TBranch *b_rho = tree->Branch("rho", &rho, "rho/F");
200-
TBranch *b_pthat = tree->Branch("pthat", &pthat, "pthat/F");
197+
TBranch *b_met = tree->Branch("met", &met, "met/F");
198+
TBranch *b_sumet = tree->Branch("sumet", &sumet, "sumet/F");
199+
TBranch *b_rho = tree->Branch("rho", &rho, "rho/F");
200+
TBranch *b_pthat = tree->Branch("pthat", &pthat, "pthat/F");
201201
TBranch *b_mcweight = tree->Branch("mcweight", &mcweight, "mcweight/F");
202202

203203
assert(fChain_ak4 && "AK4 tree invalid!" );
@@ -270,10 +270,10 @@ void LocalOpenDataTreeProducer::Loop()
270270
fChain_ak4->SetBranchStatus("EvtHdr_.mWeight",1); // mcweight
271271

272272

273-
fChain_ak7->SetBranchStatus("PFJets_", 1);
274-
fChain_ak7->SetBranchStatus("PFJets_.P4_.fCoordinates.f*", 1);
275-
fChain_ak7->SetBranchStatus("PFJets_.cor_", 1);
276-
fChain_ak7->SetBranchStatus("PFJets_.area_", 1);
273+
fChain_ak7->SetBranchStatus("PFJets_", 1);
274+
fChain_ak7->SetBranchStatus("PFJets_.P4_.fCoordinates.f*", 1);
275+
fChain_ak7->SetBranchStatus("PFJets_.cor_", 1);
276+
fChain_ak7->SetBranchStatus("PFJets_.area_", 1);
277277

278278
// Helper variables
279279
TLorentzVector p4, p4_ak4, p4_ak7, p4gen;
@@ -284,7 +284,7 @@ void LocalOpenDataTreeProducer::Loop()
284284

285285
// DEBUG!!
286286
// Change number of events here
287-
nentries = 100000;
287+
nentries = 100000;
288288

289289
// Convert set into vector
290290
std::vector<std::string> trg_vec;
@@ -336,44 +336,44 @@ void LocalOpenDataTreeProducer::Loop()
336336
p4.SetPxPyPzE( PFJets__P4__fCoordinates_fX[i], PFJets__P4__fCoordinates_fY[i],
337337
PFJets__P4__fCoordinates_fZ[i], PFJets__P4__fCoordinates_fT[i]);
338338

339-
// pT selection
339+
// pT selection
340340
Float_t minPt = 15;
341-
if (p4.Pt() > minPt) {
342-
343-
jet_pt[i_out] = p4.Pt();
344-
jet_eta[i_out] = p4.Eta();
345-
jet_phi[i_out] = p4.Phi();
346-
jet_E[i_out] = p4.E();
347-
348-
349-
jet_tightID[i_out] = PFJets__tightID_[i];
350-
jet_area[i_out] = PFJets__area_[i];
351-
jet_jes[i_out] = PFJets__cor_[i];
352-
353-
354-
// Jet composition
355-
chf[i_out] = PFJets__chf_[i];
356-
nhf[i_out] = PFJets__nhf_[i];
357-
phf[i_out] = PFJets__nemf_[i];
358-
elf[i_out] = PFJets__cemf_[i];
359-
muf[i_out] = PFJets__muf_[i];
360-
hf_hf[i] = PFJets__hf_hf_[i];
361-
hf_phf[i] = PFJets__hf_phf_[i];
362-
hf_hm[i] = PFJets__hf_hm_[i];
363-
hf_phm[i] = PFJets__hf_phm_[i];
364-
chm[i_out] = PFJets__chm_[i];
365-
nhm[i_out] = PFJets__nhm_[i];
366-
phm[i_out] = PFJets__phm_[i];
367-
elm[i_out] = PFJets__elm_[i];
368-
mum[i_out] = PFJets__mum_[i];
369-
370-
qgl[i_out] = PFJets__QGtagger_[i];
371-
beta[i_out] = PFJets__beta_[i];
372-
bstar[i_out] = PFJets__betaStar_[i];
373-
hof[i_out] = PFJets__hof_[i];
341+
if (p4.Pt() > minPt) {
342+
343+
jet_pt[i_out] = p4.Pt();
344+
jet_eta[i_out] = p4.Eta();
345+
jet_phi[i_out] = p4.Phi();
346+
jet_E[i_out] = p4.E();
347+
348+
349+
jet_tightID[i_out] = PFJets__tightID_[i];
350+
jet_area[i_out] = PFJets__area_[i];
351+
jet_jes[i_out] = PFJets__cor_[i];
352+
353+
354+
// Jet composition
355+
chf[i_out] = PFJets__chf_[i];
356+
nhf[i_out] = PFJets__nhf_[i];
357+
phf[i_out] = PFJets__nemf_[i];
358+
elf[i_out] = PFJets__cemf_[i];
359+
muf[i_out] = PFJets__muf_[i];
360+
hf_hf[i] = PFJets__hf_hf_[i];
361+
hf_phf[i] = PFJets__hf_phf_[i];
362+
hf_hm[i] = PFJets__hf_hm_[i];
363+
hf_phm[i] = PFJets__hf_phm_[i];
364+
chm[i_out] = PFJets__chm_[i];
365+
nhm[i_out] = PFJets__nhm_[i];
366+
phm[i_out] = PFJets__phm_[i];
367+
elm[i_out] = PFJets__elm_[i];
368+
mum[i_out] = PFJets__mum_[i];
369+
370+
qgl[i_out] = PFJets__QGtagger_[i];
371+
beta[i_out] = PFJets__beta_[i];
372+
bstar[i_out] = PFJets__betaStar_[i];
373+
hof[i_out] = PFJets__hof_[i];
374374

375-
++i_out;
376-
}
375+
++i_out;
376+
}
377377
}
378378
njet = i_out;
379379

@@ -382,28 +382,28 @@ void LocalOpenDataTreeProducer::Loop()
382382

383383
// Safety check
384384
if (EvtHdr__mRun != EvtHdr__mRun_ak7 ||
385-
EvtHdr__mEvent != EvtHdr__mEvent_ak7 ||
386-
EvtHdr__mLumi != EvtHdr__mLumi_ak7) {
387-
388-
assert(false && "Mismatch between AK4 and AK7 events!!");
385+
EvtHdr__mEvent != EvtHdr__mEvent_ak7 ||
386+
EvtHdr__mLumi != EvtHdr__mLumi_ak7) {
387+
388+
assert(false && "Mismatch between AK4 and AK7 events!!");
389389
}
390390

391391
// Keep only four leading jets
392-
njet_ak7 = min(PFJets_ak7__, 4);
392+
njet_ak7 = min(PFJets_ak7__, 4);
393393
for (int i = 0; i != njet_ak7; ++i) {
394394

395395
p4_ak7.SetPxPyPzE( PFJets__P4__fCoordinates_fX_ak7[i], PFJets__P4__fCoordinates_fY_ak7[i],
396396
PFJets__P4__fCoordinates_fZ_ak7[i], PFJets__P4__fCoordinates_fT_ak7[i]);
397397

398398
// 4-momentum (corrected!)
399-
jet_pt_ak7[i] = p4_ak7.Pt();
400-
jet_eta_ak7[i] = p4_ak7.Eta();
401-
jet_phi_ak7[i] = p4_ak7.Phi();
402-
jet_E_ak7[i] = p4_ak7.E();
399+
jet_pt_ak7[i] = p4_ak7.Pt();
400+
jet_eta_ak7[i] = p4_ak7.Eta();
401+
jet_phi_ak7[i] = p4_ak7.Phi();
402+
jet_E_ak7[i] = p4_ak7.E();
403403

404404
// Area and jet energy correction
405405
jet_area_ak7[i] = PFJets__area_ak7_[i];
406-
jet_jes_ak7[i] = PFJets__cor_ak7_[i];
406+
jet_jes_ak7[i] = PFJets__cor_ak7_[i];
407407

408408
// Matching AK7 jet to AK4
409409
ak7_to_ak4[i] = -1;
@@ -425,7 +425,7 @@ void LocalOpenDataTreeProducer::Loop()
425425
}
426426
}
427427
}
428-
428+
429429
// MC jets
430430
if (isMC) {
431431
ngen = GenJets__;

AnalysisFW/python/OpenDataTreeProducer_dataPAT_2011_cfg.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
# True : when running in OpenData virtual machine
1515
# False: when runing in lxplus
16-
runOnVM = False
16+
runOnVM = True
1717

1818
# Index of data files
1919
files2011data = FileUtils.loadListFromFile('CMS_Run2011A_Jet_AOD_12Oct2013-v1_20000_file_index.txt')

AnalysisFW/python/OpenDataTreeProducer_mcPAT_2011_cfg.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
# True : when running in OpenData virtual machine
1515
# False: when runing in lxplus
16-
runOnVM = False
16+
runOnVM = True
1717

1818
# Local input
1919
fileList = FileUtils.loadListFromFile('CMS_MonteCarlo2011_Summer11LegDR_QCD_Pt-80to120_TuneZ2_7TeV_pythia6_AODSIM_PU_S13_START53_LV6-v1_00000_file_index.txt')

AnalysisFW/python/README.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
## Setup
2+
3+
With `cms-opendata-2011-jets/AnalysisFW/python/` as the current folder, run the following commands:
4+
5+
1. Download index files :
6+
7+
```
8+
wget http://opendata.cern.ch/record/21/files/CMS_Run2011A_Jet_AOD_12Oct2013-v1_20000_file_index.txt
9+
wget http://opendata.cern.ch/record/1562/files/CMS_MonteCarlo2011_Summer11LegDR_QCD_Pt-80to120_TuneZ2_7TeV_pythia6_AODSIM_PU_S13_START53_LV6-v1_00000_file_index.txt
10+
```
11+
12+
2. Download JSON of good runs:
13+
14+
```
15+
wget http://opendata.cern.ch/record/1001/files/Cert_160404-180252_7TeV_ReRecoNov08_Collisions11_JSON.txt
16+
```
17+
18+
3. Make link to the condition databases:
19+
20+
```
21+
ln -sf /cvmfs/cms-opendata-conddb.cern.ch/FT_53_LV5_AN1_RUNA FT_53_LV5_AN1
22+
ln -sf /cvmfs/cms-opendata-conddb.cern.ch/FT_53_LV5_AN1_RUNA.db FT_53_LV5_AN1_RUNA.db
23+
24+
ln -sf /cvmfs/cms-opendata-conddb.cern.ch/START53_LV6A1 START53_LV6A1
25+
ln -sf /cvmfs/cms-opendata-conddb.cern.ch/START53_LV6A1.db START53_LV6A1.db
26+
```
27+
28+
4. Run the configuration files:
29+
30+
```
31+
cmsRun OpenDataTreeProducer_dataPAT_2011_cfg.py
32+
cmsRun OpenDataTreeProducer_mcPAT_2011_cfg.py
33+
```
34+
35+
5. Open the tuples in ROOT:
36+
37+
```
38+
root OpenDataTree_*
39+
```

0 commit comments

Comments
 (0)