Skip to content

Commit df5fb3c

Browse files
committed
README update
1 parent bebe538 commit df5fb3c

File tree

82 files changed

+649
-575037
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+649
-575037
lines changed

AnalysisFW/plugins/OpenDataTreeProducer.cc

Lines changed: 60 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -76,26 +76,25 @@ void OpenDataTreeProducer::beginJob() {
7676
mTree = fs->make< TTree >("OpenDataTree", "OpenDataTree");
7777

7878
// Variables of the flat tuple
79-
mTree->Branch("ak5_njet", &ak5_njet, "ak5_njet/i");
80-
mTree->Branch("ak5_pt", ak5_pt, "ak5_pt[ak5_njet]/F");
81-
mTree->Branch("ak5_eta", ak5_eta, "ak5_eta[ak5_njet]/F");
82-
mTree->Branch("ak5_phi", ak5_phi, "ak5_phi[ak5_njet]/F");
83-
mTree->Branch("ak5_E", ak5_E, "ak5_E[ak5_njet]/F");
84-
mTree->Branch("ak5_tightID", ak5_tightID, "ak5_tightID[ak5_njet]/O");
85-
mTree->Branch("ak5_area", ak5_area, "ak5_area[ak5_njet]/F");
86-
mTree->Branch("ak5_jes", ak5_jes, "ak5_jes[ak5_njet]/F");
87-
mTree->Branch("ak5_igen", ak5_igen, "ak5_igen[ak5_njet]/I");
79+
mTree->Branch("njet", &njet, "njet/i");
80+
mTree->Branch("jet_pt", jet_pt, "jet_pt[njet]/F");
81+
mTree->Branch("jet_eta", jet_eta, "jet_eta[njet]/F");
82+
mTree->Branch("jet_phi", jet_phi, "jet_phi[njet]/F");
83+
mTree->Branch("jet_E", jet_E, "jet_E[njet]/F");
84+
mTree->Branch("jet_tightID", jet_tightID, "jet_tightID[njet]/O");
85+
mTree->Branch("jet_area", jet_area, "jet_area[njet]/F");
86+
mTree->Branch("jet_jes", jet_jes, "jet_jes[njet]/F");
87+
mTree->Branch("jet_igen", jet_igen, "jet_igen[njet]/I");
8888

8989
// AK7 variables
90-
mTree->Branch("ak7_njet", &ak7_njet, "ak7_njet/i");
91-
mTree->Branch("ak7_pt", ak7_pt, "ak7_pt[ak7_njet]/F");
92-
mTree->Branch("ak7_eta", ak7_eta, "ak7_eta[ak7_njet]/F");
93-
mTree->Branch("ak7_phi", ak7_phi, "ak7_phi[ak7_njet]/F");
94-
mTree->Branch("ak7_E", ak7_E, "ak7_E[ak7_njet]/F");
95-
mTree->Branch("ak7_area", ak7_area, "ak7_area[ak7_njet]/F");
96-
mTree->Branch("ak7_jes", ak7_jes, "ak7_jes[ak7_njet]/F");
97-
//mTree->Branch("ak7_igen", ak7_igen, "ak7_igen[ak7_njet]/I");
98-
mTree->Branch("ak7_to_ak5", ak7_to_ak5, "ak7_to_ak5[ak7_njet]/I");
90+
mTree->Branch("njet_ak7", &njet_ak7, "njet_ak7/i");
91+
mTree->Branch("jet_pt_ak7", jet_pt_ak7, "jet_pt_ak7[njet_ak7]/F");
92+
mTree->Branch("jet_eta_ak7", jet_eta_ak7, "jet_eta_ak7[njet_ak7]/F");
93+
mTree->Branch("jet_phi_ak7", jet_phi_ak7, "jet_phi_ak7[njet_ak7]/F");
94+
mTree->Branch("jet_E_ak7", jet_E_ak7, "jet_E_ak7[njet_ak7]/F");
95+
mTree->Branch("jet_area_ak7", jet_area_ak7, "jet_area_ak7[njet_ak7]/F");
96+
mTree->Branch("jet_jes_ak7", jet_jes_ak7, "jet_jes_ak7[njet_ak7]/F");
97+
mTree->Branch("ak7_to_ak5", ak7_to_ak5, "ak7_to_ak5[njet_ak7]/I");
9998

10099
mTree->Branch("ngen", &ngen, "ngen/i");
101100
mTree->Branch("gen_pt", gen_pt, "gen_pt[ngen]/F");
@@ -116,22 +115,22 @@ void OpenDataTreeProducer::beginJob() {
116115
mTree->Branch("pthat", &pthat, "pthat/F");
117116
mTree->Branch("mcweight", &mcweight, "mcweight/F");
118117

119-
mTree->Branch("chf", chf, "chf[ak5_njet]/F");
120-
mTree->Branch("nhf", nhf, "nhf[ak5_njet]/F");
121-
mTree->Branch("phf", phf, "phf[ak5_njet]/F");
122-
mTree->Branch("elf", elf, "elf[ak5_njet]/F");
123-
mTree->Branch("muf", muf, "muf[ak5_njet]/F");
124-
mTree->Branch("hf_hf", hf_hf, "hf_hf[ak5_njet]/F");
125-
mTree->Branch("hf_phf", hf_phf, "hf_phf[ak5_njet]/F");
126-
mTree->Branch("hf_hm", hf_hm, "hf_hm[ak5_njet]/i");
127-
mTree->Branch("hf_phm", hf_phm, "hf_phm[ak5_njet]/i");
128-
mTree->Branch("chm", chm, "chm[ak5_njet]/i");
129-
mTree->Branch("nhm", nhm, "nhm[ak5_njet]/i");
130-
mTree->Branch("phm", phm, "phm[ak5_njet]/i");
131-
mTree->Branch("elm", elm, "elm[ak5_njet]/i");
132-
mTree->Branch("mum", mum, "mum[ak5_njet]/i");
133-
mTree->Branch("beta", beta, "beta[ak5_njet]/F");
134-
mTree->Branch("bstar", bstar, "bstar[ak5_njet]/F");
118+
mTree->Branch("chf", chf, "chf[njet]/F");
119+
mTree->Branch("nhf", nhf, "nhf[njet]/F");
120+
mTree->Branch("phf", phf, "phf[njet]/F");
121+
mTree->Branch("elf", elf, "elf[njet]/F");
122+
mTree->Branch("muf", muf, "muf[njet]/F");
123+
mTree->Branch("hf_hf", hf_hf, "hf_hf[njet]/F");
124+
mTree->Branch("hf_phf", hf_phf, "hf_phf[njet]/F");
125+
mTree->Branch("hf_hm", hf_hm, "hf_hm[njet]/i");
126+
mTree->Branch("hf_phm", hf_phm, "hf_phm[njet]/i");
127+
mTree->Branch("chm", chm, "chm[njet]/i");
128+
mTree->Branch("nhm", nhm, "nhm[njet]/i");
129+
mTree->Branch("phm", phm, "phm[njet]/i");
130+
mTree->Branch("elm", elm, "elm[njet]/i");
131+
mTree->Branch("mum", mum, "mum[njet]/i");
132+
mTree->Branch("beta", beta, "beta[njet]/F");
133+
mTree->Branch("bstar", bstar, "bstar[njet]/F");
135134

136135
}
137136

@@ -220,7 +219,6 @@ void OpenDataTreeProducer::analyze(edm::Event const &event_obj,
220219
prescales[itrig] = prescalePair.first*prescalePair.second;
221220
}
222221

223-
224222
// Rho
225223
Handle< double > rho_handle;
226224
event_obj.getByLabel(mSrcPFRho, rho_handle);
@@ -376,41 +374,41 @@ void OpenDataTreeProducer::analyze(edm::Event const &event_obj,
376374

377375

378376
// Variables of the tuple
379-
ak5_tightID[ak5_index] = tightID;
380-
ak5_area[ak5_index] = i_ak5jet->jetArea();
381-
ak5_jes[ak5_index] = 1/i_ak5jet->jecFactor(0); // JEC factor (pfjet is already corrected !!)
377+
jet_tightID[ak5_index] = tightID;
378+
jet_area[ak5_index] = i_ak5jet->jetArea();
379+
jet_jes[ak5_index] = 1/i_ak5jet->jecFactor(0); // JEC factor (pfjet is already corrected !!)
382380

383381
// p4 is already corrected!
384382
auto p4 = i_ak5jet->p4();
385-
ak5_pt[ak5_index] = p4.Pt();
386-
ak5_eta[ak5_index] = p4.Eta();
387-
ak5_phi[ak5_index] = p4.Phi();
388-
ak5_E[ak5_index] = p4.E();
383+
jet_pt[ak5_index] = p4.Pt();
384+
jet_eta[ak5_index] = p4.Eta();
385+
jet_phi[ak5_index] = p4.Phi();
386+
jet_E[ak5_index] = p4.E();
389387

390388
// Matching a GenJet to this PFjet
391389
if (mIsMCarlo && ngen > 0) {
392390

393391
// Index of the generated jet matching this PFjet
394-
ak5_igen[ak5_index] = -1; // is -1 if no matching jet
392+
jet_igen[ak5_index] = -1; // is -1 if no matching jet
395393

396394
// Search generated jet with minimum distance to this PFjet
397395
float r2min(999);
398396
for (unsigned int gen_index = 0; gen_index != ngen; gen_index++) {
399-
double deltaR2 = reco::deltaR2( ak5_eta[ak5_index],
400-
ak5_phi[ak5_index],
397+
double deltaR2 = reco::deltaR2( jet_eta[ak5_index],
398+
jet_phi[ak5_index],
401399
gen_eta[gen_index],
402400
gen_phi[gen_index]);
403401
if (deltaR2 < r2min) {
404402
r2min = deltaR2;
405-
ak5_igen[ak5_index] = gen_index;
403+
jet_igen[ak5_index] = gen_index;
406404
}
407405
}
408406
}
409407

410408
ak5_index++;
411409
}
412410
// Number of selected jets in the event
413-
ak5_njet = ak5_index;
411+
njet = ak5_index;
414412

415413

416414
// Four leading AK7 Jets
@@ -433,85 +431,39 @@ void OpenDataTreeProducer::analyze(edm::Event const &event_obj,
433431
continue;
434432
}
435433

436-
// Jet properties
437-
int npr = i_ak7jet->chargedMultiplicity() +
438-
i_ak7jet->neutralMultiplicity();
439-
double phf = i_ak7jet->photonEnergyFraction();
440-
double nhf = i_ak7jet->neutralHadronEnergyFraction() +
441-
i_ak7jet->HFHadronEnergyFraction();
442-
double elf = i_ak7jet->electronEnergyFraction();
443-
double chf = i_ak7jet->chargedHadronEnergyFraction();
444-
int chm = i_ak7jet->chargedHadronMultiplicity();
445-
446-
bool isHighEta = fabs(i_ak7jet->eta()) > 2.4;
447-
bool isLowEta = fabs(i_ak7jet->eta()) <= 2.4 &&
448-
nhf < 0.9 &&
449-
phf < 0.9 &&
450-
elf < 0.99 &&
451-
chf > 0 &&
452-
chm > 0;
453-
bool tightID = npr > 1 &&
454-
phf < 0.99 &&
455-
nhf < 0.99 &&
456-
(isLowEta || isHighEta);
457-
458-
459434
// Variables of the tuple
460-
ak7_tightID[ak7_index] = tightID;
461-
ak7_area[ak7_index] = i_ak7jet->jetArea();
462-
ak7_jes[ak7_index] = 1/i_ak7jet->jecFactor(0); // JEC factor (pfjet is already corrected !!)
435+
jet_area_ak7[ak7_index] = i_ak7jet->jetArea();
436+
jet_jes_ak7[ak7_index] = 1/i_ak7jet->jecFactor(0); // JEC factor (pfjet is already corrected !!)
463437

464438
// p4 is already corrected!
465439
auto p4 = i_ak7jet->p4();
466-
ak7_pt[ak7_index] = p4.Pt();
467-
ak7_eta[ak7_index] = p4.Eta();
468-
ak7_phi[ak7_index] = p4.Phi();
469-
ak7_E[ak7_index] = p4.E();
440+
jet_pt_ak7[ak7_index] = p4.Pt();
441+
jet_eta_ak7[ak7_index] = p4.Eta();
442+
jet_phi_ak7[ak7_index] = p4.Phi();
443+
jet_E_ak7[ak7_index] = p4.E();
470444

471445
// Matching AK5 jet to this AK7 jet
472446
// Index of the generated jet matching this PFjet
473-
ak7_to_ak5[ak7_index] = -1; // is -1 if no matching jet
447+
ak7_to_ak5[ak7_index] = -1; // -1 if no matching jet
474448

475449
float r2min(999);
476-
for (unsigned int ak5_index = 0; ak5_index != ak5_njet; ak5_index++) {
450+
for (unsigned int ak5_index = 0; ak5_index != njet; ak5_index++) {
477451

478452
// Compute distance squared
479-
double deltaR2 = reco::deltaR2( ak7_eta[ak7_index],
480-
ak7_phi[ak7_index],
481-
ak5_eta[ak5_index],
482-
ak5_phi[ak5_index]);
453+
double deltaR2 = reco::deltaR2( jet_eta_ak7[ak7_index],
454+
jet_phi_ak7[ak7_index],
455+
jet_eta[ak5_index],
456+
jet_phi[ak5_index]);
483457
if (deltaR2 < r2min) {
484458
r2min = deltaR2;
485459
ak7_to_ak5[ak7_index] = ak5_index;
486460
}
487461
}
488-
489-
490-
/*
491-
// Matching a GenJet to this PFjet
492-
if (mIsMCarlo && ngen > 0) {
493-
494-
// Index of the generated jet matching this PFjet
495-
ak7_igen[ak7_index] = -1; // is -1 if no matching jet
496-
497-
// Search generated jet with minimum distance to this PFjet
498-
float r2min(999);
499-
for (unsigned int gen_index = 0; gen_index != ngen; gen_index++) {
500-
double deltaR2 = reco::deltaR2( ak7_eta[ak7_index],
501-
ak7_phi[ak7_index],
502-
gen_eta[gen_index],
503-
gen_phi[gen_index]);
504-
if (deltaR2 < r2min) {
505-
r2min = deltaR2;
506-
ak7_igen[ak7_index] = gen_index;
507-
}
508-
}
509-
}*/
510462

511463
ak7_index++;
512464
}
513465
// Number of saved jets in the event
514-
ak7_njet = ak7_index;
466+
njet_ak7 = ak7_index;
515467

516468

517469
// MET
@@ -522,8 +474,8 @@ void OpenDataTreeProducer::analyze(edm::Event const &event_obj,
522474
sumet = (*met_handle)[0].sumEt();
523475

524476
// Finally, fill the tree
525-
if (ak5_njet >= (unsigned)mMinNPFJets &&
526-
ak7_njet >= (unsigned)mMinNPFJets ) {
477+
if (njet >= (unsigned)mMinNPFJets &&
478+
njet_ak7 >= (unsigned)mMinNPFJets ) {
527479
mTree->Fill();
528480
}
529481
}

AnalysisFW/plugins/OpenDataTreeProducer.h

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -75,25 +75,24 @@ class OpenDataTreeProducer : public edm::EDAnalyzer
7575
static const UInt_t kMaxNtrg = 32;
7676

7777
// PF jets
78-
UInt_t ak5_njet;
79-
Float_t ak5_pt[kMaxNjet];
80-
Float_t ak5_eta[kMaxNjet];
81-
Float_t ak5_phi[kMaxNjet];
82-
Float_t ak5_E[kMaxNjet];
83-
Bool_t ak5_tightID[kMaxNjet];
84-
Float_t ak5_area[kMaxNjet];
85-
Float_t ak5_jes[kMaxNjet];
86-
Int_t ak5_igen[kMaxNjet];
78+
UInt_t njet;
79+
Float_t jet_pt[kMaxNjet];
80+
Float_t jet_eta[kMaxNjet];
81+
Float_t jet_phi[kMaxNjet];
82+
Float_t jet_E[kMaxNjet];
83+
Bool_t jet_tightID[kMaxNjet];
84+
Float_t jet_area[kMaxNjet];
85+
Float_t jet_jes[kMaxNjet];
86+
Int_t jet_igen[kMaxNjet];
8787

8888
// PF jets
89-
UInt_t ak7_njet;
90-
Float_t ak7_pt[kMaxNjet];
91-
Float_t ak7_eta[kMaxNjet];
92-
Float_t ak7_phi[kMaxNjet];
93-
Float_t ak7_E[kMaxNjet];
94-
Bool_t ak7_tightID[kMaxNjet];
95-
Float_t ak7_area[kMaxNjet];
96-
Float_t ak7_jes[kMaxNjet];
89+
UInt_t njet_ak7;
90+
Float_t jet_pt_ak7[kMaxNjet];
91+
Float_t jet_eta_ak7[kMaxNjet];
92+
Float_t jet_phi_ak7[kMaxNjet];
93+
Float_t jet_E_ak7[kMaxNjet];
94+
Float_t jet_area_ak7[kMaxNjet];
95+
Float_t jet_jes_ak7[kMaxNjet];
9796
Int_t ak7_to_ak5[kMaxNjet];
9897

9998
// Jet composition

0 commit comments

Comments
 (0)