From f9244de80876b7945f53d0ea237b6bb7918a3759 Mon Sep 17 00:00:00 2001 From: yebin youn Date: Thu, 29 Nov 2018 21:45:16 +0900 Subject: [PATCH 1/5] New version slmass analysis --- analysis/bin/BuildFile.xml | 1 + analysis/bin/slmassAnalyser.cc | 355 ++++++++++++++++++++-------- analysis/interface/slmassAnalyser.h | 25 +- 3 files changed, 277 insertions(+), 104 deletions(-) diff --git a/analysis/bin/BuildFile.xml b/analysis/bin/BuildFile.xml index 8eb0ff43..5a456ca9 100644 --- a/analysis/bin/BuildFile.xml +++ b/analysis/bin/BuildFile.xml @@ -22,6 +22,7 @@ + diff --git a/analysis/bin/slmassAnalyser.cc b/analysis/bin/slmassAnalyser.cc index 544bfd9a..2c5a4cfc 100644 --- a/analysis/bin/slmassAnalyser.cc +++ b/analysis/bin/slmassAnalyser.cc @@ -9,31 +9,77 @@ using namespace std; slmassAnalyser::slmassAnalyser(TTree *tree, TTree *had, TTree *hadTruth, Bool_t isMC, Bool_t sle, Bool_t slm) : topEventSelectionSL(tree, had, hadTruth, isMC, sle, slm) { +SetCutValues(); } - slmassAnalyser::~slmassAnalyser() { } +int slmassAnalyser::SetCutValues(){ + topEventSelectionSL::SetCutValues(); + + cut_ElectronPt = 34; + cut_ElectronEta = 2.1; + cut_ElectronIDType = Electron_cutBased; + cut_ElectronIDCut = 3; + cut_ElectronSCEtaLower = 1.4442; + cut_ElectronSCEtaUpper = 1.566; + cut_ElectronRelIso03All = 0.1; + + cut_MuonIDType = Muon_tightId; + cut_MuonPt = 26; + cut_MuonEta = 2.4; + cut_MuonRelIso04All = 0.15; + + cut_VetoElectronPt = 15; + cut_VetoElectronEta = 2.4; + cut_VetoElectronIDType = Electron_cutBased; + cut_VetoElectronIDCut = 1; + cut_VetoElectronSCEtaLower = 1.4442; + cut_VetoElectronSCEtaUpper = 1.566; + cut_VetoElectronRelIso03All = 0.26; + + cut_VetoMuonIDType = NULL; + cut_VetoMuonPt = 15; + cut_VetoMuonEta = 2.4; + cut_VetoMuonRelIso04All = 0.26; + + cut_JetID = 1; + cut_JetPt = 30; + cut_JetEta = 2.4; + cut_JetConeSizeOverlap = 0.4; + + cut_BJetID = 1; + cut_BJetPt = 30; + cut_BJetEta = 2.4; + cut_BJetConeSizeOverlap = 0.4; + cut_BJetTypeBTag = Jet_btagCSVV2; + cut_BJetBTagCut = 0.8484; + + return 0; + +} + + void slmassAnalyser::Loop() { if (fChain == 0) return; Long64_t nentries = fChain->GetEntries(); - + std::cout << "# of input entries: " << nentries << std::endl; // Events loop for (Long64_t iev=0; ievGetEntry(iev); int keep = EventSelection(); - cmesonSelection(); if (keep != 0) { - collectTMVAvalues(); - m_tree->Fill(); + cmesonSelection(); + m_tree->Fill(); } } + } + int main(int argc, char* argv[]) { string env = getenv("CMSSW_BASE"); string username = getenv("USER"); @@ -55,25 +101,29 @@ int main(int argc, char* argv[]) { if (found == std::string::npos) isMC = true; for(Int_t i = 3; i < argc; i++) { - TFile *f = TFile::Open(argv[i], "read"); - TTree *tree; - f->GetObject("Events", tree); - - temp = argv[i]; - found = temp.find_last_of('/'); - std::string outPutName = dirName + temp.substr(found); - slmassAnalyser t(tree, tree, 0, isMC, isSL_e, isSL_m); - - t.setOutput(outPutName); - t.Loop(); + TFile *f = TFile::Open(argv[i], "read"); + TTree *tree; + f->GetObject("Events", tree); + + temp = argv[i]; + found = temp.find_last_of('/'); + std::string outPutName = dirName + temp.substr(found); + slmassAnalyser t(tree, tree, 0, isMC, isSL_e, isSL_m); + + t.setOutput(outPutName); + t.Loop(); } } else { - TFile *f = TFile::Open("/xrootd/store/group/nanoAOD/run2_2016v4/TT_TuneCUETP8M2T4_13TeV-powheg-pythia8/RunIISummer16MiniAODv2-PUMoriond17_80X_mcRun2_asymptotic_2016_TrancheIV_v6-v1/180430_152541/0000/nanoAOD_256.root", "read"); - //TFile *f = TFile::Open("/cms/scratch/jdj0715/nanoAOD/src/nano/nanoAOD/prod/nanoAOD.root", "read"); + //TFile *f = TFile::Open("/xrootd/store/group/nanoAOD/run2_2016v5/TT_TuneCUETP8M2T4_13TeV-powheg-pythia8/RunIISummer16MiniAODv2-PUMoriond17_80X_mcRun2_asymptotic_2016_TrancheIV_v6-v1/180607_115926/0000/nanoAOD_256.root", "read"); + TFile *f = TFile::Open("/xrootd/store/group/nanoAOD/run2_2016v5/ST_t-channel_antitop_4f_inclusiveDecays_13TeV-powhegV2-madspin-pythia8_TuneCUETP8M1/RunIISummer16MiniAODv2-PUMoriond17_80X_mcRun2_asymptotic_2016_TrancheIV_v6-v1/180610_143635/0000/nanoAOD_256.root", "read"); + //TFile *f = TFile::Open("/xrootd/store/group/nanoAOD/run2_2016v5/SingleMuon/Run2016B-07Aug17_ver2-v1/180607_085033/0000/nanoAOD_430.root"); + //TFile *f = TFile::Open("/xrootd/store/group/nanoAOD/run2_2016v4/TT_TuneCUETP8M2T4_13TeV-powheg-pythia8/RunIISummer16MiniAODv2-PUMoriond17_80X_mcRun2_asymptotic_2016_TrancheIV_v6-v1/180430_152541/0000/nanoAOD_256.root", "read"); + //TFile *f = TFile::Open("/xrootd/store/group/nanoAOD/run2_2016v5/WW_TuneCUETP8M1_13TeV-pythia8/RunIISummer16MiniAODv2-PUMoriond17_80X_mcRun2_asymptotic_2016_TrancheIV_v6-v1/180610_143956/0000/nanoAOD_2.ro + TTree *tree; f->GetObject("Events", tree); - + cout <<"out"<5) break; + } + + m_tree = new TTree("event", "event"); MakeBranch(m_tree); - + + bdtg = new TMVA::Reader(); + bdtg->AddVariable("cme_l3DE", &tmp_l3DE); + bdtg->AddVariable("cme_jetDR", &tmp_jetDR); + bdtg->AddVariable("cme_legDR", &tmp_legDR); + bdtg->AddVariable("cme_dca", &tmp_dca); + bdtg->AddVariable("cme_chi2", &tmp_chi2); + bdtg->AddVariable("cme_jet_btagCSVV2", &tmp_jet_btagCSVV2); + bdtg->AddSpectator("cme_mass", &tmp_mass); + bdtg->BookMVA("BDTG", "./Had_928.weights.xml"); + h_nevents = new TH1D("nevents", "nevents", 1, 0, 1); h_genweights = new TH1D("genweight", "genweight", 1, 0, 1); h_weights = new TH1D("weight", "weight", 1, 0, 1); @@ -96,18 +163,21 @@ void slmassAnalyser::setOutput(std::string outputName) { void slmassAnalyser::MakeBranch(TTree* t) { + t->Branch("nvertex", &b_nvertex, "nvertex/I"); t->Branch("step", &b_step, "step/I"); t->Branch("channel", &b_channel, "channel/I"); t->Branch("njet", &b_njet, "njet/I"); t->Branch("nbjet", &b_nbjet, "nbjet/I"); - m_tree->Branch("lep", "TLorentzVector", &b_lep); - t->Branch("had", "TLorentzVector", &b_had); + t->Branch("lep_pid", &b_lep_pid, "lep_pid/I"); + t->Branch("lep", "TLorentzVector", &b_lep); + t->Branch("had", "TLorentzVector", &b_had); + t->Branch("mass_sum", &b_sum, "mass_sum/F"); t->Branch("tri", &b_tri, "tri/F"); t->Branch("tri_up", &b_tri_up, "tri_up/F"); t->Branch("tri_dn", &b_tri_dn, "tri_dn/F"); t->Branch("met", &b_met, "met/F"); - t->Branch("nhad", &nhad, "nhad/i"); + t->Branch("nhad", &nhad, "nhad/I"); t->Branch("weight", &b_weight, "weight/F"); t->Branch("puweight", &b_puweight, "puweight/F"); t->Branch("genweight", &b_genweight, "genweight/F"); @@ -116,92 +186,191 @@ void slmassAnalyser::MakeBranch(TTree* t) { t->Branch("mueffweight", &b_mueffweight, "mueffweight/F"); t->Branch("eleffweight", &b_eleffweight, "eleffweight/F"); t->Branch("PV_npvs", &PV_npvs, "PV_npvs/I"); - t->Branch("trig_m", &b_trig_m, "trig_m/O"); - t->Branch("trig_e", &b_trig_e, "trig_e/O"); + t->Branch("trig_m", &b_trig_m, "trig_m/I"); + t->Branch("trig_e", &b_trig_e, "trig_e/I"); - t->Branch("had_vecSumDMLep", "TLoremtzVector", &b_had_vecSumDMLep); - t->Branch("had_sumM", &b_had_sumM, "had_sumM/F"); - +//t->Branch("had_vecSumDMLep", "TLoremtzVector", &b_had_vecSumDMLep); +//t->Branch("had_sumM", &b_had_sumM, "had_sumM/F"); + //t->Branch("cme_nMatched", &b_cme_nMatched, "cme_nMatched/I"); + //t->Branch("cme_nTrueDau", &b_cme_nTrueDau, "cme_nTrueDau/I"); + t->Branch("cme_diffMass", &b_cme_diffMass, "cme_diffMass/F"); + t->Branch("cme_tmva", &b_cme_tmva, "cme_tmva/F"); + //t->Branch("cme_tmva_Jpsi", &b_cme_tmva_Jpsi, "cme_tmva_Jpsi/F"); t->Branch("cme_mass", &b_cme_mass, "cme_mass/F"); - t->Branch("cme_lxy", &b_cme_lxy, "cme_lxy/F"); - t->Branch("cme_lxyE", &b_cme_lxyE, "cme_lxyE/F"); - t->Branch("cme_x", &b_cme_x, "cme_x/F"); - t->Branch("cme_y", &b_cme_y, "cme_y/F"); - t->Branch("cme_z", &b_cme_z, "cme_z/F"); - t->Branch("cme_pt", &b_cme_pt, "cme_pt/F"); t->Branch("cme_pdgId", &b_cme_pdgId, "cme_pdgId/I"); + //t->Branch("cme_jet_btagDeepB", &b_cme_jet_btagDeepB,"cme_jet_btagDeepB/F"); + //t->Branch("cme_jet_btagDeepC", &b_cme_jet_btagDeepC,"cme_jet_btagDeepC/F"); + //t->Branch("cme_jet_btagCMVA", &b_cme_jet_btagCMVA,"cme_jet_btagCMVA/F"); + t->Branch("cme_jet_btagCSVV2", &b_cme_jet_btagCSVV2,"cme_jet_btagCSVV2/F"); + t->Branch("cme_l3DE", &b_cme_l3DE, "cme_l3DE/F"); + //t->Branch("cme_l3D", &b_cme_l3D,"cme_l3D/F"); + //t->Branch("cme_l3DErr", &b_cme_l3DErr, "cme_l3DErr/F"); + //t->Branch("cme_lxy", &b_cme_lxy, "cme_lxy/F"); + //t->Branch("cme_lxyE", &b_cme_lxyE,"cme_lxyE/F"); + t->Branch("cme_jetDR", &b_cme_jetDR, "cme_jetDR/F"); + t->Branch("cme_legDR", &b_cme_legDR, "cme_legDR/F"); + t->Branch("cme_dca", &b_cme_dca, "cme_dca/F"); + t->Branch("cme_chi2", &b_cme_chi2, "cme_chi2/F"); + t->Branch("cme_charge", &b_cme_charge, "cme_charge/I"); + t->Branch("cme_cut", &b_cme_cut, "cme_cut/I"); + //t->Branch("cme_nJet", &b_cme_nJet, "cme_nJet/I"); + + t->Branch("cme_dau1_chi2", &b_cme_dau1_chi2,"cme_dau1_chi2/F"); + t->Branch("cme_dau1_nHits", &b_cme_dau1_nHits,"cme_dau1_nHits/F"); + t->Branch("cme_dau1_pt", &b_cme_dau1_pt,"cme_dau1_pt/F"); + t->Branch("cme_dau2_chi2", &b_cme_dau2_chi2,"cme_dau2_chi2/F"); + t->Branch("cme_dau2_nHits", &b_cme_dau2_nHits,"cme_dau2_nHits/F"); + t->Branch("cme_dau2_pt", &b_cme_dau2_pt,"cme_dau2_pt/F"); + ////t->Branch("cme_dau1_ipsigXY", &b_cme_dau1_ipsigXY,"cme_dau1_ipsigXY/F"); + ////t->Branch("cme_dau1_ipsigZ", &b_cme_dau1_ipsigZ,"cme_dau1_ipsigZ/F"); + //t->Branch("cme_dau2_ipsigXY", &b_cme_dau2_ipsigXY,"cme_dau2_ipsigXY/F"); + //t->Branch("cme_dau2_ipsigZ", &b_cme_dau2_ipsigZ,"cme_dau2_ipsigZ/F"); + //t->Branch("cme_jet_btagDeepC", &b_cme_jet_btagDeepC, "cme_jet_btagDeepC/I"); + //t->Branch("cme_pt", &b_cme_pt,"cme_pt/F"); + //t->Branch("cme_eta", &b_cme_eta,"cme_eta/F"); + //t->Branch("cme_phi", &b_cme_phi,"cme_phi/F"); + //t->Branch("cme_angleXYZ", &b_cme_angleXYZ, "cme_angleXYZ/F"); + //t->Branch("cme_angleXY", &b_cme_angleXY,"cme_angleXY/F"); + //t->Branch("cme_x", &b_cme_x, "cme_x/F"); + ///t->Branch("cme_y", &b_cme_y, "cme_y/F"); + //t->Branch("cme_z", &b_cme_z, "cme_z/F"); + } void slmassAnalyser::resetBranch() { - hads.clear(); - b_cme_pdgId = 0; - b_cme_mass = -999; - b_cme_lxy = -999; - b_cme_lxyE = -999; - b_cme_x = -999; - b_cme_y = -999; - b_cme_z = -999; - b_cme_pt = -999; -} - - -void slmassAnalyser::collectTMVAvalues() { - for (UInt_t i = 0; i 4) continue; + if (had_dau1_nHits[k] <3) continue; + if (had_dau1_pt[k] <0.5) continue; + if (had_dau2_chi2[k] >3) continue; + if (had_dau2_nHits[k] <3) continue; + if (had_dau2_pt[k] <0.5) continue; + if (std::fabs(had_angleXY[k]) <0.95) continue; + if (std::fabs(had_x[k]) >8) continue; + if (std::fabs(had_y[k]) >8) continue; + if (std::fabs(had_z[k]) >20) continue; - for (UInt_t i = 0; i b.Pt();}); - hads.erase(hads.begin()+1, hads.end()); - b_had = hads[0]; + if (had_l3DErr[k] <= 0) continue; + tmp_l3DE = had_l3D[k] / had_l3DErr[k]; + if (TMath::IsNaN(tmp_l3DE)or tmp_l3DE>200) continue; + + tmp_jetDR = had_jetDR[k]; + if (had_jetDR[k] >0.3) continue; + + tmp_legDR = had_legDR[k]; + if (had_legDR[k] >0.6) continue; + + tmp_dca = had_dca[k]; + if (had_dca[k] >1) continue; + + tmp_chi2 = had_chi2[k]; + if (had_chi2[k] >10) continue; - b_had_vecSumDMLep = b_lep + b_had; - b_had_sumM = b_had_vecSumDMLep.M(); + tmp_jet_btagCSVV2 = had_jet_btagCSVV2[k]; + if (had_jet_btagCSVV2[k] <0.05) continue; + tmp_mass = had_mass[k]; + tmp_tmva = bdtg->EvaluateMVA("BDTG"); + + if (max_tmva < tmp_tmva){ + max_tmva = tmp_tmva; + hadnum = k; + } + + } + //cout < class slmassAnalyser : public topEventSelectionSL { private: //Varialbes float b_cme_dca, b_cme_angleXY, b_cme_angleXYZ, b_cme_jetDR, b_cme_legDR; - float b_cme_lxy, b_cme_lxyE, b_cme_l3D, b_cme_l3DE; + float b_cme_lxy, b_cme_lxyE, b_cme_l3D, b_cme_l3DE, b_cme_l3DErr, b_cme_lxyErr; float b_cme_x, b_cme_y, b_cme_z, b_cme_pt, b_cme_chi2, b_cme_eta, b_cme_phi; float b_cme_dau1_chi2, b_cme_dau1_nHits, b_cme_dau1_pt, b_cme_dau1_ipsigXY, b_cme_dau1_ipsigZ; float b_cme_dau2_chi2, b_cme_dau2_nHits, b_cme_dau2_pt, b_cme_dau2_ipsigXY, b_cme_dau2_ipsigZ; float b_cme_jet_btagCMVA, b_cme_jet_btagCSVV2, b_cme_jet_btagDeepB, b_cme_jet_btagDeepC; - float b_cme_mass; - float b_cme_tmva_bdtg; + float b_cme_mass,b_cme_diffMass,b_sumM; + float b_cme_tmva,b_cme_tmva_D0,b_cme_tmva_Jpsi; int b_cme_pdgId; - int b_cme_nMatched; - float b_bdtg; - int b_maxbIdx; + float b_bdtg,b_bdtg2,b_sum; + int b_maxbIdx, b_cme_nJet, b_cme_cut, b_cme_charge; + float tmp_l3DE, tmp_jetDR, tmp_legDR, tmp_dca, tmp_chi2, tmp_jet_btagCSVV2, tmp_mass,tmp_tmva; + //For C meson std::vector hads; - TLorentzVector b_had, b_had_vecSumDMLep; - float b_had_sumM; - //std::vector b_d0_lepSV_lowM; - //std::vector b_d0_lepSV_correctM; - //std::vector b_d0_lepSV_dRM; + TClonesArray *b_hads; + TLorentzVector b_had; //Making output branch void MakeBranch(TTree* t); void resetBranch(); @@ -32,6 +31,7 @@ class slmassAnalyser : public topEventSelectionSL { //TMVA TMVA::Reader* bdtg; + TMVA::Reader* bdtg2; public : //set output file @@ -44,6 +44,9 @@ public : ~slmassAnalyser(); virtual void Loop(); + int SetCutValues(); + + }; #endif From a25ab75bad6a8a39bb7f76090d5d2a78d147d81b Mon Sep 17 00:00:00 2001 From: yebin youn Date: Thu, 29 Nov 2018 21:48:55 +0900 Subject: [PATCH 2/5] test --- analysis/bin/slmassAnalyser.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/analysis/bin/slmassAnalyser.cc b/analysis/bin/slmassAnalyser.cc index 2c5a4cfc..791054f2 100644 --- a/analysis/bin/slmassAnalyser.cc +++ b/analysis/bin/slmassAnalyser.cc @@ -11,7 +11,7 @@ slmassAnalyser::slmassAnalyser(TTree *tree, TTree *had, TTree *hadTruth, Bool_t { SetCutValues(); } - +//yebbi slmassAnalyser::~slmassAnalyser() { } From 65c7d7b35cfcaaf46d03f2779ef123d2d9e6d906 Mon Sep 17 00:00:00 2001 From: yebin youn Date: Thu, 29 Nov 2018 21:50:48 +0900 Subject: [PATCH 3/5] Upload most recent semilepton analysis --- analysis/bin/slmassAnalyser.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/analysis/bin/slmassAnalyser.cc b/analysis/bin/slmassAnalyser.cc index 791054f2..4602b6d2 100644 --- a/analysis/bin/slmassAnalyser.cc +++ b/analysis/bin/slmassAnalyser.cc @@ -11,7 +11,6 @@ slmassAnalyser::slmassAnalyser(TTree *tree, TTree *had, TTree *hadTruth, Bool_t { SetCutValues(); } -//yebbi slmassAnalyser::~slmassAnalyser() { } From 64de1167738dbee17fed69e7345f79a5d59673d8 Mon Sep 17 00:00:00 2001 From: yebin youn Date: Thu, 29 Nov 2018 21:54:32 +0900 Subject: [PATCH 4/5] Upload most recent semilepton analysis(header file) --- analysis/interface/slmassAnalyser.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/analysis/interface/slmassAnalyser.h b/analysis/interface/slmassAnalyser.h index 4e713ec7..1fbf2a7b 100644 --- a/analysis/interface/slmassAnalyser.h +++ b/analysis/interface/slmassAnalyser.h @@ -31,12 +31,9 @@ class slmassAnalyser : public topEventSelectionSL { //TMVA TMVA::Reader* bdtg; - TMVA::Reader* bdtg2; - public : //set output file void setOutput(std::string outputName); - void collectTMVAvalues(); void cmesonSelection(); slmassAnalyser(TTree *tree=0, TTree *had=0, TTree *hadTruth=0, Bool_t isMC = false, Bool_t sle = false, Bool_t slm = false); From e4d57bd6630d93261b3ac085ac866bd5f3654e00 Mon Sep 17 00:00:00 2001 From: yebin youn Date: Mon, 3 Dec 2018 18:11:46 +0900 Subject: [PATCH 5/5] Check feedback --- analysis/bin/slmassAnalyser.cc | 119 +++++++++++++++------------- analysis/interface/slmassAnalyser.h | 33 +++++--- 2 files changed, 82 insertions(+), 70 deletions(-) diff --git a/analysis/bin/slmassAnalyser.cc b/analysis/bin/slmassAnalyser.cc index 4602b6d2..c974663f 100644 --- a/analysis/bin/slmassAnalyser.cc +++ b/analysis/bin/slmassAnalyser.cc @@ -60,8 +60,6 @@ int slmassAnalyser::SetCutValues(){ } - - void slmassAnalyser::Loop() { if (fChain == 0) return; Long64_t nentries = fChain->GetEntries(); @@ -76,7 +74,6 @@ void slmassAnalyser::Loop() { m_tree->Fill(); } } - } int main(int argc, char* argv[]) { @@ -114,8 +111,8 @@ int main(int argc, char* argv[]) { } } else { - //TFile *f = TFile::Open("/xrootd/store/group/nanoAOD/run2_2016v5/TT_TuneCUETP8M2T4_13TeV-powheg-pythia8/RunIISummer16MiniAODv2-PUMoriond17_80X_mcRun2_asymptotic_2016_TrancheIV_v6-v1/180607_115926/0000/nanoAOD_256.root", "read"); - TFile *f = TFile::Open("/xrootd/store/group/nanoAOD/run2_2016v5/ST_t-channel_antitop_4f_inclusiveDecays_13TeV-powhegV2-madspin-pythia8_TuneCUETP8M1/RunIISummer16MiniAODv2-PUMoriond17_80X_mcRun2_asymptotic_2016_TrancheIV_v6-v1/180610_143635/0000/nanoAOD_256.root", "read"); + TFile *f = TFile::Open("/xrootd/store/group/nanoAOD/run2_2016v5/TT_TuneCUETP8M2T4_13TeV-powheg-pythia8/RunIISummer16MiniAODv2-PUMoriond17_80X_mcRun2_asymptotic_2016_TrancheIV_v6-v1/180607_115926/0000/nanoAOD_256.root", "read"); + //TFile *f = TFile::Open("/xrootd/store/group/nanoAOD/run2_2016v5/ST_t-channel_antitop_4f_inclusiveDecays_13TeV-powhegV2-madspin-pythia8_TuneCUETP8M1/RunIISummer16MiniAODv2-PUMoriond17_80X_mcRun2_asymptotic_2016_TrancheIV_v6-v1/180610_143635/0000/nanoAOD_256.root", "read"); //TFile *f = TFile::Open("/xrootd/store/group/nanoAOD/run2_2016v5/SingleMuon/Run2016B-07Aug17_ver2-v1/180607_085033/0000/nanoAOD_430.root"); //TFile *f = TFile::Open("/xrootd/store/group/nanoAOD/run2_2016v4/TT_TuneCUETP8M2T4_13TeV-powheg-pythia8/RunIISummer16MiniAODv2-PUMoriond17_80X_mcRun2_asymptotic_2016_TrancheIV_v6-v1/180430_152541/0000/nanoAOD_256.root", "read"); //TFile *f = TFile::Open("/xrootd/store/group/nanoAOD/run2_2016v5/WW_TuneCUETP8M1_13TeV-pythia8/RunIISummer16MiniAODv2-PUMoriond17_80X_mcRun2_asymptotic_2016_TrancheIV_v6-v1/180610_143956/0000/nanoAOD_2.ro @@ -171,7 +168,7 @@ void slmassAnalyser::MakeBranch(TTree* t) { t->Branch("lep_pid", &b_lep_pid, "lep_pid/I"); t->Branch("lep", "TLorentzVector", &b_lep); t->Branch("had", "TLorentzVector", &b_had); - t->Branch("mass_sum", &b_sum, "mass_sum/F"); + t->Branch("mass_sum", &b_cme_sum, "mass_sum/F"); t->Branch("tri", &b_tri, "tri/F"); t->Branch("tri_up", &b_tri_up, "tri_up/F"); t->Branch("tri_dn", &b_tri_dn, "tri_dn/F"); @@ -185,11 +182,8 @@ void slmassAnalyser::MakeBranch(TTree* t) { t->Branch("mueffweight", &b_mueffweight, "mueffweight/F"); t->Branch("eleffweight", &b_eleffweight, "eleffweight/F"); t->Branch("PV_npvs", &PV_npvs, "PV_npvs/I"); - t->Branch("trig_m", &b_trig_m, "trig_m/I"); - t->Branch("trig_e", &b_trig_e, "trig_e/I"); - -//t->Branch("had_vecSumDMLep", "TLoremtzVector", &b_had_vecSumDMLep); -//t->Branch("had_sumM", &b_had_sumM, "had_sumM/F"); + t->Branch("trig_m", &b_trig_m, "trig_m/O"); + t->Branch("trig_e", &b_trig_e, "trig_e/O"); //t->Branch("cme_nMatched", &b_cme_nMatched, "cme_nMatched/I"); //t->Branch("cme_nTrueDau", &b_cme_nTrueDau, "cme_nTrueDau/I"); t->Branch("cme_diffMass", &b_cme_diffMass, "cme_diffMass/F"); @@ -239,56 +233,63 @@ void slmassAnalyser::MakeBranch(TTree* t) { void slmassAnalyser::resetBranch() { Reset(); - b_cme_cut = 0; - b_cme_charge = 0; b_had.SetPtEtaPhiM(0,0,0,0); - b_cme_diffMass = -88; - b_cme_pdgId = 0; - b_cme_tmva = -2; - //b_cme_tmva_Jpsi = -2; - b_cme_mass = -88; + b_cme_cut = 0; + b_cme_charge = 0; + b_cme_pdgId = 0; - b_cme_lxy = -88; - b_cme_l3DE = -88; - b_cme_l3DErr = -88; - b_cme_jetDR = -88; - b_cme_legDR = -88; - b_cme_nJet = -88; - b_cme_dca = -88; - b_cme_angleXYZ = -88; - b_cme_x = -88; - b_cme_y = -88; - b_cme_z = -88; - b_cme_chi2 = -88; - b_cme_jet_btagDeepB = -88; - b_cme_dau2_chi2 = -88; - b_cme_dau1_chi2 = -88; - b_cme_dau1_ipsigXY = -88; - b_cme_dau2_ipsigXY = -88; - b_cme_dau1_nHits = -88; - b_cme_dau2_nHits = -88; - b_cme_dau2_ipsigZ = -88; - - b_cme_lxyE = -88; - b_cme_l3D = -88; - b_cme_eta = -88; - b_cme_phi = -88; - b_cme_jet_btagCMVA = -88; + b_cme_tmva = -1; + b_cme_diffMass = -88; + b_cme_mass = -88; + b_cme_sum = -88; + + b_cme_dau1_chi2 = -88; + b_cme_dau1_nHits = -88; + b_cme_dau1_pt = -88; + b_cme_dau2_chi2 = -88; + b_cme_dau2_nHits = -88; + b_cme_dau2_pt = -88; + b_cme_l3DE = -88; + b_cme_dca = -88; + b_cme_jetDR = -88; + b_cme_legDR = -88; + b_cme_chi2 = -88; b_cme_jet_btagCSVV2 = -88; + + + b_cme_x = -88; + b_cme_y = -88; + b_cme_z = -88; b_cme_angleXY = -88; - b_cme_pt =-88; - b_cme_jet_btagDeepC = -88; - b_cme_dau1_ipsigZ =-88; - b_cme_dau1_pt =-88; - b_cme_dau2_pt =-88; + + tmp_l3DE = -88; + tmp_jetDR = -88; + tmp_legDR = -88; + tmp_dca = -88; + tmp_chi2 = -88; + tmp_jet_btagCSVV2 = -88; + tmp_mass = -88; + tmp_tmva = -88; + + hadnum = -1; } void slmassAnalyser::cmesonSelection() { - UInt_t hadnum = 100001; Float_t max_tmva = -2.0f; if (nhad < 1) return; for (UInt_t k = 0; k < nhad; ++k) { + + //cout <<"---k :"<4) continue; if (had_dau1_nHits[k] <3) continue; if (had_dau1_pt[k] <0.5) continue; @@ -296,8 +297,7 @@ void slmassAnalyser::cmesonSelection() { if (had_dau2_nHits[k] <3) continue; if (had_dau2_pt[k] <0.5) continue; if (std::fabs(had_angleXY[k]) <0.95) continue; - if (std::fabs(had_x[k]) >8) continue; - if (std::fabs(had_y[k]) >8) continue; + if (std::hypot(had_x[k], had_y[k]) >8) continue; if (std::fabs(had_z[k]) >20) continue; if (had_l3DErr[k] <= 0) continue; @@ -321,15 +321,21 @@ void slmassAnalyser::cmesonSelection() { tmp_mass = had_mass[k]; tmp_tmva = bdtg->EvaluateMVA("BDTG"); + //cout <<"-----Cut Pass----"< hads;