#ifndef myAnalysis_cxx #define myAnalysis_cxx #include "myAnalysis.h" #include "FourMomentum.h" #include "ObjectPairer.h" #include "DuplicateEvent.h" void myAnalysis::Loop() { //Histogram Settings: const int NBINS = 100; const float MAX = 2500; const float MIN = 0; const int GEV = 1000; const float PI = 3.1415926; std::string ytitle = "pairs / 1.5 GeV"; if (fChain == 0) return; Activate("el_n"); Activate("el_eta"); Activate("el_phi"); Activate("el_Et"); Activate("el_pt"); Activate("el_Ethad1"); Activate("el_f1"); Activate("el_E233"); Activate("el_E237"); Activate("el_E277"); Activate("el_reta"); Activate("el_rphi"); Activate("el_wstot"); Activate("el_deltaEmax2"); Activate("el_deltaEs"); Activate("el_ws3"); Activate("el_fside"); Activate("el_Etcone20"); Activate("el_nTRTHits"); Activate("el_nSiHits"); Activate("el_nPixHits"); Activate("el_nBLHits"); Activate("el_TRTHighTHitsRatio"); Activate("el_deltaeta1"); Activate("el_deltaeta2"); Activate("el_deltaphi2"); Long64_t nentries = fChain->GetEntriesFast(); ObjectPairer elBasePairSelection("el"); elBasePairSelection.AddCut("pt > 10000"); elBasePairSelection.AddCut("(author = 1) || (author = 3)"); elBasePairSelection.AddCut("(eta |< 1.37) || (eta |> 1.52)","Not In Crack"); elBasePairSelection.AddCut("eta |< 2.47","|eta| < 2.47"); ObjectPairer elBasePlusDeltaR = elBasePairSelection; ObjectPairer elBaseSameSign = elBasePlusDeltaR; elBaseSameSign.AddCut("charge |= 1"); elBaseSameSign.AddComparison("charge = charge"); ObjectPairer elTightTightNS = elBasePlusDeltaR; elTightTightNS.AddCutFirstObject("tight = 1"); elTightTightNS.AddCutSecondObject("tight = 1"); ObjectPairer elMediumMediumNS = elBasePlusDeltaR; elMediumMediumNS.AddCutFirstObject("medium = 1"); elMediumMediumNS.AddCutSecondObject("medium = 1"); ObjectPairer elLooseLooseNS = elBasePlusDeltaR; elLooseLooseNS.AddCutFirstObject("loose = 1"); elLooseLooseNS.AddCutSecondObject("loose = 1"); TH2F * h_elTightTightNS_phi_eta = new TH2F("elTightTightNS_phi_eta","Electron pairs, both passing tight",NBINS,-4,4,NBINS,-4,4); h_elTightTightNS_phi_eta->SetXTitle("phi"); h_elTightTightNS_phi_eta->SetYTitle("eta"); TH1F * h_elTightTightNS_Mass = new TH1F("elTightTightNS_Mass","Electron pairs, both passing tight",NBINS,MIN,MAX); h_elTightTightNS_Mass->SetXTitle("Invariant Mass, GeV"); h_elTightTightNS_Mass->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_px = new TH1F("elTightTightNS_px","Electron pairs, both passing tight",NBINS,-MAX,MAX); h_elTightTightNS_px->SetXTitle("px, GeV"); h_elTightTightNS_px->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_py = new TH1F("elTightTightNS_py","Electron pairs, both passing tight",NBINS,-MAX,MAX); h_elTightTightNS_py->SetXTitle("py, GeV"); h_elTightTightNS_py->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_pz = new TH1F("elTightTightNS_pz","Electron pairs, both passing tight",NBINS,-MAX,MAX); h_elTightTightNS_pz->SetXTitle("pz, GeV"); h_elTightTightNS_pz->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_E = new TH1F("elTightTightNS_E","Electron pairs, both passing tight",NBINS,MIN,MAX); h_elTightTightNS_E->SetXTitle("E, GeV"); h_elTightTightNS_E->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_pt = new TH1F("elTightTightNS_pt","Electron pairs, both passing tight",NBINS,MIN,MAX); h_elTightTightNS_pt->SetXTitle("pt, GeV"); h_elTightTightNS_pt->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_eta = new TH1F("elTightTightNS_eta","Electron pairs, both passing tight",NBINS,-6,6); h_elTightTightNS_eta->SetXTitle("eta"); h_elTightTightNS_eta->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_Ethad1 = new TH1F("elTightTightNS_Ethad1","Electron pairs, both passing tight",NBINS,-2,2); h_elTightTightNS_Ethad1->SetXTitle("Ethad1, GeV"); h_elTightTightNS_Ethad1->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_Et = new TH1F("elTightTightNS_Et","Electron pairs, both passing tight",NBINS,MIN,MAX); h_elTightTightNS_Et->SetXTitle("Et, GeV"); h_elTightTightNS_Et->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_E233 = new TH1F("elTightTightNS_E233","Electron pairs, both passing tight",NBINS,MIN,MAX); h_elTightTightNS_E233->SetXTitle("E233, GeV"); h_elTightTightNS_E233->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_E237 = new TH1F("elTightTightNS_E237","Electron pairs, both passing tight",NBINS,MIN,MAX); h_elTightTightNS_E237->SetXTitle("E237, GeV"); h_elTightTightNS_E237->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_E277 = new TH1F("elTightTightNS_E277","Electron pairs, both passing tight",NBINS,MIN,MAX); h_elTightTightNS_E277->SetXTitle("E277, GeV"); h_elTightTightNS_E277->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_f1 = new TH1F("elTightTightNS_f1","Electron pairs, both passing tight",NBINS,-1,1); h_elTightTightNS_f1->SetXTitle("f1"); h_elTightTightNS_f1->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_reta = new TH1F("elTightTightNS_reta","Electron pairs, both passing tight",NBINS,0.5,1); h_elTightTightNS_reta->SetXTitle("reta"); h_elTightTightNS_reta->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_rphi = new TH1F("elTightTightNS_rphi","Electron pairs, both passing tight",NBINS,0.5,1); h_elTightTightNS_rphi->SetXTitle("rphi"); h_elTightTightNS_rphi->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_wstot = new TH1F("elTightTightNS_wstot","Electron pairs, both passing tight",NBINS,-1,5); h_elTightTightNS_wstot->SetXTitle("wstot"); h_elTightTightNS_wstot->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_deltaEmax2 = new TH1F("elTightTightNS_deltaEmax2","Electron pairs, both passing tight",NBINS,-1,1); h_elTightTightNS_deltaEmax2->SetXTitle("deltaEmax2"); h_elTightTightNS_deltaEmax2->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_deltaEs = new TH1F("elTightTightNS_deltaEs","Electron pairs, both passing tight",NBINS,-10,20); h_elTightTightNS_deltaEs->SetXTitle("deltaEs"); h_elTightTightNS_deltaEs->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_ws3 = new TH1F("elTightTightNS_ws3","Electron pairs, both passing tight",NBINS,-1,2); h_elTightTightNS_ws3->SetXTitle("ws3"); h_elTightTightNS_ws3->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_fside = new TH1F("elTightTightNS_fside","Electron pairs, both passing tight",NBINS,-1,1); h_elTightTightNS_fside->SetXTitle("fside"); h_elTightTightNS_fside->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_Etcone20 = new TH1F("elTightTightNS_Etcone20","Electron pairs, both passing tight",NBINS,-10,40); h_elTightTightNS_Etcone20->SetXTitle("Etcone20"); h_elTightTightNS_Etcone20->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_nTRTHits = new TH1F("elTightTightNS_nTRTHits","Electron pairs, both passing tight",NBINS,-5,50); h_elTightTightNS_nTRTHits->SetXTitle("nTRTHits"); h_elTightTightNS_nTRTHits->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_nSiHits = new TH1F("elTightTightNS_nSiHits","Electron pairs, both passing tight",NBINS,-2,10); h_elTightTightNS_nSiHits->SetXTitle("nSiHits"); h_elTightTightNS_nSiHits->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_nPixHits = new TH1F("elTightTightNS_nPixHits","Electron pairs, both passing tight",NBINS,-2,10); h_elTightTightNS_nPixHits->SetXTitle("nPixHits"); h_elTightTightNS_nPixHits->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_nBLHits = new TH1F("elTightTightNS_nBLHits","Electron pairs, both passing tight",NBINS,-2,10); h_elTightTightNS_nBLHits->SetXTitle("nBLHits"); h_elTightTightNS_nBLHits->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_TRTHighTHitsRatio = new TH1F("elTightTightNS_TRTHighTHitsRatio","Electron pairs, both passing tight",NBINS,-1,1); h_elTightTightNS_TRTHighTHitsRatio->SetXTitle("TRTHighTHitsRatio"); h_elTightTightNS_TRTHighTHitsRatio->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_deltaphi2 = new TH1F("elTightTightNS_deltaphi2","Electron pairs, both passing tight",NBINS,-10,10); h_elTightTightNS_deltaphi2->SetXTitle("deltaphi2"); h_elTightTightNS_deltaphi2->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_deltaeta1 = new TH1F("elTightTightNS_deltaeta1","Electron pairs, both passing tight",NBINS,-10,10); h_elTightTightNS_deltaeta1->SetXTitle("deltaeta1"); h_elTightTightNS_deltaeta1->SetYTitle(ytitle.c_str()); TH1F * h_elTightTightNS_deltaeta2 = new TH1F("elTightTightNS_deltaeta2","Electron pairs, both passing tight",NBINS,-10,10); h_elTightTightNS_deltaeta2->SetXTitle("deltaeta2"); h_elTightTightNS_deltaeta2->SetYTitle(ytitle.c_str()); TH2F * h_elMediumMediumNS_phi_eta = new TH2F("elMediumMediumNS_phi_eta","Electron pairs, both passing medium",NBINS,-4,4,NBINS,-4,4); h_elMediumMediumNS_phi_eta->SetXTitle("phi"); h_elMediumMediumNS_phi_eta->SetYTitle("eta"); TH1F * h_elMediumMediumNS_Mass = new TH1F("elMediumMediumNS_Mass","Electron pairs, both passing medium",NBINS,MIN,MAX); h_elMediumMediumNS_Mass->SetXTitle("Invariant Mass, GeV"); h_elMediumMediumNS_Mass->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_px = new TH1F("elMediumMediumNS_px","Electron pairs, both passing medium",NBINS,-MAX,MAX); h_elMediumMediumNS_px->SetXTitle("px, GeV"); h_elMediumMediumNS_px->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_py = new TH1F("elMediumMediumNS_py","Electron pairs, both passing medium",NBINS,-MAX,MAX); h_elMediumMediumNS_py->SetXTitle("py, GeV"); h_elMediumMediumNS_py->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_pz = new TH1F("elMediumMediumNS_pz","Electron pairs, both passing medium",NBINS,-MAX,MAX); h_elMediumMediumNS_pz->SetXTitle("pz, GeV"); h_elMediumMediumNS_pz->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_E = new TH1F("elMediumMediumNS_E","Electron pairs, both passing medium",NBINS,MIN,MAX); h_elMediumMediumNS_E->SetXTitle("E, GeV"); h_elMediumMediumNS_E->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_pt = new TH1F("elMediumMediumNS_pt","Electron pairs, both passing medium",NBINS,MIN,MAX); h_elMediumMediumNS_pt->SetXTitle("pt, GeV"); h_elMediumMediumNS_pt->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_eta = new TH1F("elMediumMediumNS_eta","Electron pairs, both passing medium",NBINS,-6,6); h_elMediumMediumNS_eta->SetXTitle("eta"); h_elMediumMediumNS_eta->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_Ethad1 = new TH1F("elMediumMediumNS_Ethad1","Electron pairs, both passing medium",NBINS,-2,2); h_elMediumMediumNS_Ethad1->SetXTitle("Ethad1, GeV"); h_elMediumMediumNS_Ethad1->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_Et = new TH1F("elMediumMediumNS_Et","Electron pairs, both passing medium",NBINS,MIN,MAX); h_elMediumMediumNS_Et->SetXTitle("Et, GeV"); h_elMediumMediumNS_Et->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_E233 = new TH1F("elMediumMediumNS_E233","Electron pairs, both passing medium",NBINS,MIN,MAX); h_elMediumMediumNS_E233->SetXTitle("E233, GeV"); h_elMediumMediumNS_E233->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_E237 = new TH1F("elMediumMediumNS_E237","Electron pairs, both passing medium",NBINS,MIN,MAX); h_elMediumMediumNS_E237->SetXTitle("E237, GeV"); h_elMediumMediumNS_E237->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_E277 = new TH1F("elMediumMediumNS_E277","Electron pairs, both passing medium",NBINS,MIN,MAX); h_elMediumMediumNS_E277->SetXTitle("E277, GeV"); h_elMediumMediumNS_E277->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_f1 = new TH1F("elMediumMediumNS_f1","Electron pairs, both passing medium",NBINS,-1,1); h_elMediumMediumNS_f1->SetXTitle("f1"); h_elMediumMediumNS_f1->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_reta = new TH1F("elMediumMediumNS_reta","Electron pairs, both passing medium",NBINS,0.5,1); h_elMediumMediumNS_reta->SetXTitle("reta"); h_elMediumMediumNS_reta->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_rphi = new TH1F("elMediumMediumNS_rphi","Electron pairs, both passing medium",NBINS,0.5,1); h_elMediumMediumNS_rphi->SetXTitle("rphi"); h_elMediumMediumNS_rphi->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_wstot = new TH1F("elMediumMediumNS_wstot","Electron pairs, both passing medium",NBINS,-1,5); h_elMediumMediumNS_wstot->SetXTitle("wstot"); h_elMediumMediumNS_wstot->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_deltaEmax2 = new TH1F("elMediumMediumNS_deltaEmax2","Electron pairs, both passing medium",NBINS,-1,1); h_elMediumMediumNS_deltaEmax2->SetXTitle("deltaEmax2"); h_elMediumMediumNS_deltaEmax2->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_deltaEs = new TH1F("elMediumMediumNS_deltaEs","Electron pairs, both passing medium",NBINS,-10,20); h_elMediumMediumNS_deltaEs->SetXTitle("deltaEs"); h_elMediumMediumNS_deltaEs->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_ws3 = new TH1F("elMediumMediumNS_ws3","Electron pairs, both passing medium",NBINS,-1,2); h_elMediumMediumNS_ws3->SetXTitle("ws3"); h_elMediumMediumNS_ws3->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_fside = new TH1F("elMediumMediumNS_fside","Electron pairs, both passing medium",NBINS,-1,1); h_elMediumMediumNS_fside->SetXTitle("fside"); h_elMediumMediumNS_fside->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_Etcone20 = new TH1F("elMediumMediumNS_Etcone20","Electron pairs, both passing medium",NBINS,-10,40); h_elMediumMediumNS_Etcone20->SetXTitle("Etcone20"); h_elMediumMediumNS_Etcone20->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_nTRTHits = new TH1F("elMediumMediumNS_nTRTHits","Electron pairs, both passing medium",NBINS,-5,50); h_elMediumMediumNS_nTRTHits->SetXTitle("nTRTHits"); h_elMediumMediumNS_nTRTHits->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_nSiHits = new TH1F("elMediumMediumNS_nSiHits","Electron pairs, both passing medium",NBINS,-2,10); h_elMediumMediumNS_nSiHits->SetXTitle("nSiHits"); h_elMediumMediumNS_nSiHits->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_nPixHits = new TH1F("elMediumMediumNS_nPixHits","Electron pairs, both passing medium",NBINS,-2,10); h_elMediumMediumNS_nPixHits->SetXTitle("nPixHits"); h_elMediumMediumNS_nPixHits->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_nBLHits = new TH1F("elMediumMediumNS_nBLHits","Electron pairs, both passing medium",NBINS,-2,10); h_elMediumMediumNS_nBLHits->SetXTitle("nBLHits"); h_elMediumMediumNS_nBLHits->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_TRTHighTHitsRatio = new TH1F("elMediumMediumNS_TRTHighTHitsRatio","Electron pairs, both passing medium",NBINS,-1,1); h_elMediumMediumNS_TRTHighTHitsRatio->SetXTitle("TRTHighTHitsRatio"); h_elMediumMediumNS_TRTHighTHitsRatio->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_deltaphi2 = new TH1F("elMediumMediumNS_deltaphi2","Electron pairs, both passing medium",NBINS,-10,10); h_elMediumMediumNS_deltaphi2->SetXTitle("deltaphi2"); h_elMediumMediumNS_deltaphi2->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_deltaeta1 = new TH1F("elMediumMediumNS_deltaeta1","Electron pairs, both passing medium",NBINS,-10,10); h_elMediumMediumNS_deltaeta1->SetXTitle("deltaeta1"); h_elMediumMediumNS_deltaeta1->SetYTitle(ytitle.c_str()); TH1F * h_elMediumMediumNS_deltaeta2 = new TH1F("elMediumMediumNS_deltaeta2","Electron pairs, both passing medium",NBINS,-10,10); h_elMediumMediumNS_deltaeta2->SetXTitle("deltaeta2"); h_elMediumMediumNS_deltaeta2->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_pt1 = new TH1F("elLooseLooseNS_pt1","Electron pairs, both passing loose",NBINS,MIN,MAX); h_elLooseLooseNS_pt1->SetXTitle("pt, GeV"); h_elLooseLooseNS_pt1->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_pt2 = new TH1F("elLooseLooseNS_pt2","Electron pairs, both passing loose",NBINS,MIN,MAX); h_elLooseLooseNS_pt2->SetXTitle("pt, GeV"); h_elLooseLooseNS_pt2->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_Et1 = new TH1F("elLooseLooseNS_Et1","Electron pairs, both passing loose",NBINS,MIN,MAX); h_elLooseLooseNS_Et1->SetXTitle("Et, GeV"); h_elLooseLooseNS_Et1->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_Et2 = new TH1F("elLooseLooseNS_Et2","Electron pairs, both passing loose",NBINS,MIN,MAX); h_elLooseLooseNS_Et2->SetXTitle("Et, GeV"); h_elLooseLooseNS_Et2->SetYTitle(ytitle.c_str()); TH2F * h_elLooseLooseNS_phi_eta = new TH2F("elLooseLooseNS_phi_eta","Electron pairs, both passing loose",NBINS,-4,4,NBINS,-4,4); h_elLooseLooseNS_phi_eta->SetXTitle("phi"); h_elLooseLooseNS_phi_eta->SetYTitle("eta"); TH1F * h_elLooseLooseNS_Mass = new TH1F("elLooseLooseNS_Mass","Electron pairs, both passing loose",NBINS,MIN,MAX); h_elLooseLooseNS_Mass->SetXTitle("Invariant Mass, GeV"); h_elLooseLooseNS_Mass->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_px = new TH1F("elLooseLooseNS_px","Electron pairs, both passing loose",NBINS,-MAX,MAX); h_elLooseLooseNS_px->SetXTitle("px, GeV"); h_elLooseLooseNS_px->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_py = new TH1F("elLooseLooseNS_py","Electron pairs, both passing loose",NBINS,-MAX,MAX); h_elLooseLooseNS_py->SetXTitle("py, GeV"); h_elLooseLooseNS_py->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_pz = new TH1F("elLooseLooseNS_pz","Electron pairs, both passing loose",NBINS,-MAX,MAX); h_elLooseLooseNS_pz->SetXTitle("pz, GeV"); h_elLooseLooseNS_pz->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_E = new TH1F("elLooseLooseNS_E","Electron pairs, both passing loose",NBINS,MIN,MAX); h_elLooseLooseNS_E->SetXTitle("E, GeV"); h_elLooseLooseNS_E->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_pt = new TH1F("elLooseLooseNS_pt","Electron pairs, both passing loose",NBINS,MIN,MAX); h_elLooseLooseNS_pt->SetXTitle("pt, GeV"); h_elLooseLooseNS_pt->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_eta = new TH1F("elLooseLooseNS_eta","Electron pairs, both passing loose",NBINS,-6,6); h_elLooseLooseNS_eta->SetXTitle("eta"); h_elLooseLooseNS_eta->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_Ethad1 = new TH1F("elLooseLooseNS_Ethad1","Electron pairs, both passing loose",NBINS,-2,2); h_elLooseLooseNS_Ethad1->SetXTitle("Ethad1, GeV"); h_elLooseLooseNS_Ethad1->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_Et = new TH1F("elLooseLooseNS_Et","Electron pairs, both passing loose",NBINS,MIN,MAX); h_elLooseLooseNS_Et->SetXTitle("Et, GeV"); h_elLooseLooseNS_Et->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_E233 = new TH1F("elLooseLooseNS_E233","Electron pairs, both passing loose",NBINS,MIN,MAX); h_elLooseLooseNS_E233->SetXTitle("E233, GeV"); h_elLooseLooseNS_E233->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_E237 = new TH1F("elLooseLooseNS_E237","Electron pairs, both passing loose",NBINS,MIN,MAX); h_elLooseLooseNS_E237->SetXTitle("E237, GeV"); h_elLooseLooseNS_E237->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_E277 = new TH1F("elLooseLooseNS_E277","Electron pairs, both passing loose",NBINS,MIN,MAX); h_elLooseLooseNS_E277->SetXTitle("E277, GeV"); h_elLooseLooseNS_E277->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_f1 = new TH1F("elLooseLooseNS_f1","Electron pairs, both passing loose",NBINS,-1,1); h_elLooseLooseNS_f1->SetXTitle("f1"); h_elLooseLooseNS_f1->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_reta = new TH1F("elLooseLooseNS_reta","Electron pairs, both passing loose",NBINS,0.5,1); h_elLooseLooseNS_reta->SetXTitle("reta"); h_elLooseLooseNS_reta->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_rphi = new TH1F("elLooseLooseNS_rphi","Electron pairs, both passing loose",NBINS,0.5,1); h_elLooseLooseNS_rphi->SetXTitle("rphi"); h_elLooseLooseNS_rphi->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_wstot = new TH1F("elLooseLooseNS_wstot","Electron pairs, both passing loose",NBINS,-1,5); h_elLooseLooseNS_wstot->SetXTitle("wstot"); h_elLooseLooseNS_wstot->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_deltaEmax2 = new TH1F("elLooseLooseNS_deltaEmax2","Electron pairs, both passing loose",NBINS,-1,1); h_elLooseLooseNS_deltaEmax2->SetXTitle("deltaEmax2"); h_elLooseLooseNS_deltaEmax2->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_deltaEs = new TH1F("elLooseLooseNS_deltaEs","Electron pairs, both passing loose",NBINS,-10,20); h_elLooseLooseNS_deltaEs->SetXTitle("deltaEs"); h_elLooseLooseNS_deltaEs->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_ws3 = new TH1F("elLooseLooseNS_ws3","Electron pairs, both passing loose",NBINS,-1,2); h_elLooseLooseNS_ws3->SetXTitle("ws3"); h_elLooseLooseNS_ws3->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_fside = new TH1F("elLooseLooseNS_fside","Electron pairs, both passing loose",NBINS,-1,1); h_elLooseLooseNS_fside->SetXTitle("fside"); h_elLooseLooseNS_fside->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_Etcone20 = new TH1F("elLooseLooseNS_Etcone20","Electron pairs, both passing loose",NBINS,-10,40); h_elLooseLooseNS_Etcone20->SetXTitle("Etcone20"); h_elLooseLooseNS_Etcone20->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_nTRTHits = new TH1F("elLooseLooseNS_nTRTHits","Electron pairs, both passing loose",NBINS,-5,50); h_elLooseLooseNS_nTRTHits->SetXTitle("nTRTHits"); h_elLooseLooseNS_nTRTHits->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_nSiHits = new TH1F("elLooseLooseNS_nSiHits","Electron pairs, both passing loose",NBINS,-2,10); h_elLooseLooseNS_nSiHits->SetXTitle("nSiHits"); h_elLooseLooseNS_nSiHits->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_nPixHits = new TH1F("elLooseLooseNS_nPixHits","Electron pairs, both passing loose",NBINS,-2,10); h_elLooseLooseNS_nPixHits->SetXTitle("nPixHits"); h_elLooseLooseNS_nPixHits->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_nBLHits = new TH1F("elLooseLooseNS_nBLHits","Electron pairs, both passing loose",NBINS,-2,10); h_elLooseLooseNS_nBLHits->SetXTitle("nBLHits"); h_elLooseLooseNS_nBLHits->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_TRTHighTHitsRatio = new TH1F("elLooseLooseNS_TRTHighTHitsRatio","Electron pairs, both passing loose",NBINS,-1,1); h_elLooseLooseNS_TRTHighTHitsRatio->SetXTitle("TRTHighTHitsRatio"); h_elLooseLooseNS_TRTHighTHitsRatio->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_deltaphi2 = new TH1F("elLooseLooseNS_deltaphi2","Electron pairs, both passing loose",NBINS,-10,10); h_elLooseLooseNS_deltaphi2->SetXTitle("deltaphi2"); h_elLooseLooseNS_deltaphi2->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_deltaeta1 = new TH1F("elLooseLooseNS_deltaeta1","Electron pairs, both passing loose",NBINS,-10,10); h_elLooseLooseNS_deltaeta1->SetXTitle("deltaeta1"); h_elLooseLooseNS_deltaeta1->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_deltaeta2 = new TH1F("elLooseLooseNS_deltaeta2","Electron pairs, both passing loose",NBINS,-10,10); h_elLooseLooseNS_deltaeta2->SetXTitle("deltaeta2"); h_elLooseLooseNS_deltaeta2->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_deltaR = new TH1F("elLooseLooseNS_deltaR","Electron pairs, both passing loose",NBINS,0,2); h_elLooseLooseNS_deltaR->SetXTitle("deltaR"); h_elLooseLooseNS_deltaR->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_deltaRtot = new TH1F("elLooseLooseNS_deltaRtot","Electron pairs, both passing loose",NBINS,-10,10); h_elLooseLooseNS_deltaRtot->SetXTitle("deltaRtot"); h_elLooseLooseNS_deltaRtot->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_deltapt = new TH1F("elLooseLooseNS_deltapt","Electron pairs, both passing loose",NBINS,MIN,MAX); h_elLooseLooseNS_deltapt->SetXTitle("deltapt,GeV"); h_elLooseLooseNS_deltapt->SetYTitle(ytitle.c_str()); TH1F * h_elLooseLooseNS_deltapttot = new TH1F("elLooseLooseNS_deltapttot","Electron pairs, both passing loose",NBINS,MIN,MAX); h_elLooseLooseNS_deltapttot->SetXTitle("deltapttot,GeV"); h_elLooseLooseNS_deltapttot->SetYTitle(ytitle.c_str()); int total=0; int tot_Medium=0; int n_elMediumMediumNS = 0; int tot_Loose=0; int n_elLooseLooseNS = 0; int tot_Tight=0; int n_elTightTightNS = 0; FourMomentum elKin_Tight1("el"); FourMomentum elKin_Tight2("el"); FourMomentum elKin_Medium1("el"); FourMomentum elKin_Medium2("el"); FourMomentum elKin_Loose1("el"); FourMomentum elKin_Loose2("el"); if(aPlot != 0) aPlot->Setup(); SetBranchAddresses(); SetupWriteLeaves(); fstream log_file; string log_name = OutputFileName() + ".log"; log_file.open ( log_name.c_str() ); for (Long64_t jentry=0; jentryFill(1); if( !aCut->Test() ) continue; } vector< pair >* pairs_Loose; vector< pair >* pairs_Medium; vector< pair >* pairs_Tight; pairs_Loose = elLooseLooseNS.MakePairs(); if( pairs_Loose->size() >= 1 ) { for( vector< pair >::const_iterator itr = pairs_Loose->begin(); itr != pairs_Loose->end(); ++itr ) { elKin_Loose1.GetEntry(itr->first); elKin_Loose2.GetEntry(itr->second); float px1 = elKin_Loose1.Px(); h_elLooseLooseNS_px->Fill( px1 / GEV ); // float px_test = (*el_px)[itr->first]; // float comp = px1-px_test; float px2 = elKin_Loose2.Px(); h_elLooseLooseNS_px->Fill( px2 / GEV ); float px_sq = (px1 + px2) * (px1 + px2); float py1 = elKin_Loose1.Py(); h_elLooseLooseNS_py->Fill( py1 / GEV ); float py2 = elKin_Loose2.Py(); h_elLooseLooseNS_py->Fill( py2 / GEV ); float py_sq = (py1 + py2) * (py1 + py2); float pz1 = elKin_Loose1.Pz(); h_elLooseLooseNS_pz->Fill( pz1 / GEV ); float pz2 = elKin_Loose2.Pz(); h_elLooseLooseNS_pz->Fill( pz2 / GEV ); float pz_sq = (pz1 + pz2) * (pz1 + pz2); float En1 = elKin_Loose1.E(); h_elLooseLooseNS_E->Fill( En1 / GEV ); float En2 = elKin_Loose2.E(); h_elLooseLooseNS_E->Fill( En2 / GEV ); float En_sq = (En1 + En2) * (En1 + En2); float mass_Inva = (elKin_Loose1 + elKin_Loose2).M(); float eta1 = (*el_eta)[itr->first]; float eta2 = (*el_eta)[itr->second]; float deltaeta = eta1-eta2; float phi1 = (*el_phi)[itr->first]; float phi2 = (*el_phi)[itr->second]; float deltaphio = phi1-phi2; float deltaphi; if(fabs(deltaphio)=PI) deltaphi = 2*PI-fabs(deltaphio); float deltaR = sqrt(deltaeta*deltaeta + deltaphi*deltaphi); h_elLooseLooseNS_deltaRtot-> Fill(deltaR); //h_elLooseLooseNS->Fill( mass / GEV ); //float mass_Inva = sqrt(En_sq-px_sq-py_sq-pz_sq); h_elLooseLooseNS_Mass->Fill( mass_Inva / GEV ); float Et1 = (*el_Et)[itr->first]; float Et2 = (*el_Et)[itr->second]; float pt1 = (*el_pt)[itr->first]; float pt2 = (*el_pt)[itr->second]; float deltapt= fabs(pt1-pt2); h_elLooseLooseNS_deltapttot-> Fill(deltapt/GEV); if( mass_Inva/GEV <10) { h_elLooseLooseNS_pt1->Fill( pt1 / GEV ); h_elLooseLooseNS_pt2->Fill( pt2 / GEV ); h_elLooseLooseNS_Et1->Fill( Et1 / GEV ); h_elLooseLooseNS_Et2->Fill( Et2 / GEV ); h_elLooseLooseNS_deltapt-> Fill(deltapt/GEV); h_elLooseLooseNS_deltaR->Fill(deltaR); } if (((mass_Inva/GEV)>80)&&((mass_Inva/GEV)<100)) { float eta1 = (*el_eta)[itr->first]; h_elLooseLooseNS_eta->Fill(eta1); float eta2 = (*el_eta)[itr->second]; h_elLooseLooseNS_eta->Fill(eta2); float phi1 = (*el_phi)[itr->first]; h_elLooseLooseNS_phi_eta->Fill(phi1,eta1); float phi2 = (*el_phi)[itr->second]; h_elLooseLooseNS_phi_eta->Fill(phi2,eta2); float Et1 = (*el_Et)[itr->first]; h_elLooseLooseNS_Et->Fill(Et1/GEV); float Et2 = (*el_Et)[itr->second]; h_elLooseLooseNS_Et->Fill(Et2/GEV); h_elLooseLooseNS_pt->Fill(pt1/GEV); h_elLooseLooseNS_pt->Fill(pt2/GEV); float Ethad11 = (*el_Ethad1)[itr->first]; h_elLooseLooseNS_Ethad1->Fill(Ethad11/GEV); float Ethad12 = (*el_Ethad1)[itr->second]; h_elLooseLooseNS_Ethad1->Fill(Ethad12/GEV); float f11 = (*el_f1)[itr->first]; h_elLooseLooseNS_f1->Fill(f11); float f12 = (*el_f1)[itr->second]; h_elLooseLooseNS_f1->Fill(f12); float E2331 = (*el_E233)[itr->first]; h_elLooseLooseNS_E233->Fill(E2331/GEV); float E2332 = (*el_E233)[itr->second]; h_elLooseLooseNS_E233->Fill(E2332/GEV); float E2371 = (*el_E237)[itr->first]; h_elLooseLooseNS_E237->Fill(E2371/GEV); float E2372 = (*el_E237)[itr->second]; h_elLooseLooseNS_E237->Fill(E2372/GEV); float E2771 = (*el_E277)[itr->first]; h_elLooseLooseNS_E277->Fill(E2771/GEV); float E2772 = (*el_E277)[itr->second]; h_elLooseLooseNS_E277->Fill(E2772/GEV); float reta1 = (*el_reta)[itr->first]; h_elLooseLooseNS_reta->Fill(reta1); float reta2 = (*el_reta)[itr->second]; h_elLooseLooseNS_reta->Fill(reta2); float rphi1 = (*el_rphi)[itr->first]; h_elLooseLooseNS_rphi->Fill(rphi1); float rphi2 = (*el_rphi)[itr->second]; h_elLooseLooseNS_rphi->Fill(rphi2); float wstot1 = (*el_wstot)[itr->first]; h_elLooseLooseNS_wstot->Fill(wstot1); float wstot2 = (*el_wstot)[itr->second]; h_elLooseLooseNS_wstot->Fill(wstot2); float deltaEmax21 = (*el_deltaEmax2)[itr->first]; h_elLooseLooseNS_deltaEmax2->Fill(deltaEmax21); float deltaEmax22 = (*el_deltaEmax2)[itr->second]; h_elLooseLooseNS_deltaEmax2->Fill(deltaEmax22); float deltaEs1 = (*el_deltaEs)[itr->first]; h_elLooseLooseNS_deltaEs->Fill(deltaEs1/GEV); float deltaEs2 = (*el_deltaEs)[itr->second]; h_elLooseLooseNS_deltaEs->Fill(deltaEs2/GEV); float ws31 = (*el_ws3)[itr->first]; h_elLooseLooseNS_ws3->Fill(ws31); float ws32 = (*el_ws3)[itr->second]; h_elLooseLooseNS_ws3->Fill(ws32); float fside1 = (*el_fside)[itr->first]; h_elLooseLooseNS_fside->Fill(fside1); float fside2 = (*el_fside)[itr->second]; h_elLooseLooseNS_fside->Fill(fside2); float Etcone201 = (*el_Etcone20)[itr->first]; h_elLooseLooseNS_Etcone20->Fill(Etcone201/GEV); float Etcone202 = (*el_Etcone20)[itr->second]; h_elLooseLooseNS_Etcone20->Fill(Etcone202/GEV); float nTRTHits1 = (*el_nTRTHits)[itr->first]; h_elLooseLooseNS_nTRTHits->Fill(nTRTHits1); float nTRTHits2 = (*el_nTRTHits)[itr->second]; h_elLooseLooseNS_nTRTHits->Fill(nTRTHits2); float nSiHits1 = (*el_nSiHits)[itr->first]; h_elLooseLooseNS_nSiHits->Fill(nSiHits1); float nSiHits2 = (*el_nSiHits)[itr->second]; h_elLooseLooseNS_nSiHits->Fill(nSiHits2); float nPixHits1 = (*el_nPixHits)[itr->first]; h_elLooseLooseNS_nPixHits->Fill(nPixHits1); float nPixHits2 = (*el_nPixHits)[itr->second]; h_elLooseLooseNS_nPixHits->Fill(nPixHits2); float nBLHits1 = (*el_nBLHits)[itr->first]; h_elLooseLooseNS_nBLHits->Fill(nBLHits1); float nBLHits2 = (*el_nBLHits)[itr->second]; h_elLooseLooseNS_nBLHits->Fill(nBLHits2); float TRTHighTHitsRatio1 = (*el_TRTHighTHitsRatio)[itr->first]; h_elLooseLooseNS_TRTHighTHitsRatio->Fill(TRTHighTHitsRatio1); float TRTHighTHitsRatio2 = (*el_TRTHighTHitsRatio)[itr->second]; h_elLooseLooseNS_TRTHighTHitsRatio->Fill(TRTHighTHitsRatio2); float deltaeta11 = (*el_deltaeta1)[itr->first]; h_elLooseLooseNS_deltaeta1->Fill(deltaeta11); float deltaeta12 = (*el_deltaeta1)[itr->second]; h_elLooseLooseNS_deltaeta1->Fill(deltaeta12); float deltaeta21 = (*el_deltaeta2)[itr->first]; h_elLooseLooseNS_deltaeta2->Fill(deltaeta21); float deltaeta22 = (*el_deltaeta2)[itr->second]; h_elLooseLooseNS_deltaeta2->Fill(deltaeta22); float deltaphi21 = (*el_deltaphi2)[itr->first]; h_elLooseLooseNS_deltaphi2->Fill(deltaphi21); float deltaphi22 = (*el_deltaphi2)[itr->second]; h_elLooseLooseNS_deltaphi2->Fill(deltaphi22); } ++n_elLooseLooseNS; } ++tot_Loose; } pairs_Medium = elMediumMediumNS.MakePairs(); if( pairs_Medium->size() >= 1 ) { for( vector< pair >::const_iterator itr = pairs_Medium->begin(); itr != pairs_Medium->end(); ++itr ) { elKin_Medium1.GetEntry(itr->first); elKin_Medium2.GetEntry(itr->second); float px1 = elKin_Medium1.Px(); h_elMediumMediumNS_px->Fill( px1 / GEV ); float px2 = elKin_Medium2.Px(); h_elMediumMediumNS_px->Fill( px2 / GEV ); float px_sq = (px1 + px2) * (px1 + px2); float py1 = elKin_Medium1.Py(); h_elMediumMediumNS_py->Fill( py1 / GEV ); float py2 = elKin_Medium2.Py(); h_elMediumMediumNS_py->Fill( py2 / GEV ); float py_sq = (py1 + py2) * (py1 + py2); float pz1 = elKin_Medium1.Pz(); h_elMediumMediumNS_pz->Fill( pz1 / GEV ); float pz2 = elKin_Medium2.Pz(); h_elMediumMediumNS_pz->Fill( pz2 / GEV ); float pz_sq = (pz1 + pz2) * (pz1 + pz2); float En1 = elKin_Medium1.E(); h_elMediumMediumNS_E->Fill( En1 / GEV ); float En2 = elKin_Medium2.E(); h_elMediumMediumNS_E->Fill( En2 / GEV ); float En_sq = (En1 + En2) * (En1 + En2); float mass_Inva = (elKin_Medium1 + elKin_Medium2).M(); // float mass_Inva = sqrt(En_sq-px_sq-py_sq-pz_sq); h_elMediumMediumNS_Mass->Fill( mass_Inva / GEV ); if (((mass_Inva/GEV)>80)&&((mass_Inva/GEV)<100)) { float eta1 = (*el_eta)[itr->first]; h_elMediumMediumNS_eta->Fill(eta1); float eta2 = (*el_eta)[itr->second]; h_elMediumMediumNS_eta->Fill(eta2); float phi1 = (*el_phi)[itr->first]; h_elMediumMediumNS_phi_eta->Fill(phi1,eta1); float phi2 = (*el_phi)[itr->second]; h_elMediumMediumNS_phi_eta->Fill(phi2,eta2); float Et1 = (*el_Et)[itr->first]; h_elMediumMediumNS_Et->Fill(Et1/GEV); float Et2 = (*el_Et)[itr->second]; h_elMediumMediumNS_Et->Fill(Et2/GEV); float pt1 = (*el_pt)[itr->first]; float pt2 = (*el_pt)[itr->second]; h_elMediumMediumNS_pt->Fill(pt1/GEV); h_elMediumMediumNS_pt->Fill(pt2/GEV); float Ethad11 = (*el_Ethad1)[itr->first]; h_elMediumMediumNS_Ethad1->Fill(Ethad11/GEV); float Ethad12 = (*el_Ethad1)[itr->second]; h_elMediumMediumNS_Ethad1->Fill(Ethad12/GEV); float f11 = (*el_f1)[itr->first]; h_elMediumMediumNS_f1->Fill(f11); float f12 = (*el_f1)[itr->second]; h_elMediumMediumNS_f1->Fill(f12); float E2331 = (*el_E233)[itr->first]; h_elMediumMediumNS_E233->Fill(E2331/GEV); float E2332 = (*el_E233)[itr->second]; h_elMediumMediumNS_E233->Fill(E2332/GEV); float E2371 = (*el_E237)[itr->first]; h_elMediumMediumNS_E237->Fill(E2371/GEV); float E2372 = (*el_E237)[itr->second]; h_elMediumMediumNS_E237->Fill(E2372/GEV); float E2771 = (*el_E277)[itr->first]; h_elMediumMediumNS_E277->Fill(E2771/GEV); float E2772 = (*el_E277)[itr->second]; h_elMediumMediumNS_E277->Fill(E2772/GEV); float reta1 = (*el_reta)[itr->first]; h_elMediumMediumNS_reta->Fill(reta1); float reta2 = (*el_reta)[itr->second]; h_elMediumMediumNS_reta->Fill(reta2); float rphi1 = (*el_rphi)[itr->first]; h_elMediumMediumNS_rphi->Fill(rphi1); float rphi2 = (*el_rphi)[itr->second]; h_elMediumMediumNS_rphi->Fill(rphi2); float wstot2 = (*el_wstot)[itr->second]; h_elMediumMediumNS_wstot->Fill(wstot2); float deltaEmax21 = (*el_deltaEmax2)[itr->first]; h_elMediumMediumNS_deltaEmax2->Fill(deltaEmax21); float deltaEmax22 = (*el_deltaEmax2)[itr->second]; h_elMediumMediumNS_deltaEmax2->Fill(deltaEmax22); float deltaEs1 = (*el_deltaEs)[itr->first]; h_elMediumMediumNS_deltaEs->Fill(deltaEs1/GEV); float deltaEs2 = (*el_deltaEs)[itr->second]; h_elMediumMediumNS_deltaEs->Fill(deltaEs2/GEV); float ws31 = (*el_ws3)[itr->first]; h_elMediumMediumNS_ws3->Fill(ws31); float ws32 = (*el_ws3)[itr->second]; h_elMediumMediumNS_ws3->Fill(ws32); float fside1 = (*el_fside)[itr->first]; h_elMediumMediumNS_fside->Fill(fside1); float fside2 = (*el_fside)[itr->second]; h_elMediumMediumNS_fside->Fill(fside2); float Etcone201 = (*el_Etcone20)[itr->first]; h_elMediumMediumNS_Etcone20->Fill(Etcone201/GEV); float Etcone202 = (*el_Etcone20)[itr->second]; h_elMediumMediumNS_Etcone20->Fill(Etcone202/GEV); float nTRTHits1 = (*el_nTRTHits)[itr->first]; h_elMediumMediumNS_nTRTHits->Fill(nTRTHits1); float nTRTHits2 = (*el_nTRTHits)[itr->second]; h_elMediumMediumNS_nTRTHits->Fill(nTRTHits2); float nSiHits1 = (*el_nSiHits)[itr->first]; h_elMediumMediumNS_nSiHits->Fill(nSiHits1); float nSiHits2 = (*el_nSiHits)[itr->second]; h_elMediumMediumNS_nSiHits->Fill(nSiHits2); float nPixHits1 = (*el_nPixHits)[itr->first]; h_elMediumMediumNS_nPixHits->Fill(nPixHits1); float nPixHits2 = (*el_nPixHits)[itr->second]; h_elMediumMediumNS_nPixHits->Fill(nPixHits2); float nBLHits1 = (*el_nBLHits)[itr->first]; h_elMediumMediumNS_nBLHits->Fill(nBLHits1); float nBLHits2 = (*el_nBLHits)[itr->second]; h_elMediumMediumNS_nBLHits->Fill(nBLHits2); float TRTHighTHitsRatio1 = (*el_TRTHighTHitsRatio)[itr->first]; h_elMediumMediumNS_TRTHighTHitsRatio->Fill(TRTHighTHitsRatio1); float TRTHighTHitsRatio2 = (*el_TRTHighTHitsRatio)[itr->second]; h_elMediumMediumNS_TRTHighTHitsRatio->Fill(TRTHighTHitsRatio2); float deltaeta11 = (*el_deltaeta1)[itr->first]; h_elMediumMediumNS_deltaeta1->Fill(deltaeta11); float deltaeta12 = (*el_deltaeta1)[itr->second]; h_elMediumMediumNS_deltaeta1->Fill(deltaeta12); float deltaeta21 = (*el_deltaeta2)[itr->first]; h_elMediumMediumNS_deltaeta2->Fill(deltaeta21); float deltaeta22 = (*el_deltaeta2)[itr->second]; h_elMediumMediumNS_deltaeta2->Fill(deltaeta22); float deltaphi21 = (*el_deltaphi2)[itr->first]; h_elMediumMediumNS_deltaphi2->Fill(deltaphi21); float deltaphi22 = (*el_deltaphi2)[itr->second]; h_elMediumMediumNS_deltaphi2->Fill(deltaphi22); } ++n_elMediumMediumNS; } ++tot_Medium; } pairs_Tight = elTightTightNS.MakePairs(); if( pairs_Tight->size() >= 1 ) { for( vector< pair >::const_iterator itr = pairs_Tight->begin(); itr != pairs_Tight->end(); ++itr ) { elKin_Tight1.GetEntry(itr->first); elKin_Tight2.GetEntry(itr->second); float px1 = elKin_Tight1.Px(); h_elTightTightNS_px->Fill( px1 / GEV ); float px2 = elKin_Tight2.Px(); h_elTightTightNS_px->Fill( px2 / GEV ); float px_sq = (px1 + px2) * (px1 + px2); float py1 = elKin_Tight1.Py(); h_elTightTightNS_py->Fill( py1 / GEV ); float py2 = elKin_Tight2.Py(); h_elTightTightNS_py->Fill( py2 / GEV ); float py_sq = (py1 + py2) * (py1 + py2); float pz1 = elKin_Tight1.Pz(); h_elTightTightNS_pz->Fill( pz1 / GEV ); float pz2 = elKin_Tight2.Pz(); h_elTightTightNS_pz->Fill( pz2 / GEV ); float pz_sq = (pz1 + pz2) * (pz1 + pz2); float En1 = elKin_Tight1.E(); h_elTightTightNS_E->Fill( En1 / GEV ); float En2 = elKin_Tight2.E(); h_elTightTightNS_E->Fill( En2 / GEV ); float En_sq = (En1 + En2) * (En1 + En2); float mass_Inva = (elKin_Tight1+elKin_Tight2).M(); // float mass_Inva = sqrt(En_sq-px_sq-py_sq-pz_sq); h_elTightTightNS_Mass->Fill( mass_Inva / GEV ); if (((mass_Inva/GEV)>80)&&((mass_Inva/GEV)<100)) { float eta1 = (*el_eta)[itr->first]; h_elTightTightNS_eta->Fill(eta1); float eta2 = (*el_eta)[itr->second]; h_elTightTightNS_eta->Fill(eta2); float phi1 = (*el_phi)[itr->first]; h_elTightTightNS_phi_eta->Fill(phi1,eta1); float phi2 = (*el_phi)[itr->second]; h_elTightTightNS_phi_eta->Fill(phi2,eta2); float Et1 = (*el_Et)[itr->first]; h_elTightTightNS_Et->Fill(Et1/GEV); float Et2 = (*el_Et)[itr->second]; h_elTightTightNS_Et->Fill(Et2/GEV); float pt1 = (*el_pt)[itr->first]; h_elTightTightNS_pt->Fill(pt1/GEV); float pt2 = (*el_pt)[itr->second]; h_elTightTightNS_pt->Fill(pt2/GEV); float Ethad11 = (*el_Ethad1)[itr->first]; h_elTightTightNS_Ethad1->Fill(Ethad11/GEV); float Ethad12 = (*el_Ethad1)[itr->second]; h_elTightTightNS_Ethad1->Fill(Ethad12/GEV); float f11 = (*el_f1)[itr->first]; h_elTightTightNS_f1->Fill(f11); float f12 = (*el_f1)[itr->second]; h_elTightTightNS_f1->Fill(f12); float E2331 = (*el_E233)[itr->first]; h_elTightTightNS_E233->Fill(E2331/GEV); float E2332 = (*el_E233)[itr->second]; h_elTightTightNS_E233->Fill(E2332/GEV); float E2371 = (*el_E237)[itr->first]; h_elTightTightNS_E237->Fill(E2371/GEV); float E2372 = (*el_E237)[itr->second]; h_elTightTightNS_E237->Fill(E2372/GEV); float E2771 = (*el_E277)[itr->first]; h_elTightTightNS_E277->Fill(E2771/GEV); float E2772 = (*el_E277)[itr->second]; h_elTightTightNS_E277->Fill(E2772/GEV); float reta1 = (*el_reta)[itr->first]; h_elTightTightNS_reta->Fill(reta1); float reta2 = (*el_reta)[itr->second]; h_elTightTightNS_reta->Fill(reta2); float rphi1 = (*el_rphi)[itr->first]; h_elTightTightNS_rphi->Fill(rphi1); float rphi2 = (*el_rphi)[itr->second]; h_elTightTightNS_rphi->Fill(rphi2); float wstot1 = (*el_wstot)[itr->first]; h_elTightTightNS_wstot->Fill(wstot1); float wstot2 = (*el_wstot)[itr->second]; h_elTightTightNS_wstot->Fill(wstot2); float deltaEmax21 = (*el_deltaEmax2)[itr->first]; h_elTightTightNS_deltaEmax2->Fill(deltaEmax21); float deltaEmax22 = (*el_deltaEmax2)[itr->second]; h_elTightTightNS_deltaEmax2->Fill(deltaEmax22); float deltaEs1 = (*el_deltaEs)[itr->first]; h_elTightTightNS_deltaEs->Fill(deltaEs1/GEV); float deltaEs2 = (*el_deltaEs)[itr->second]; h_elTightTightNS_deltaEs->Fill(deltaEs2/GEV); float ws31 = (*el_ws3)[itr->first]; h_elTightTightNS_ws3->Fill(ws31); float ws32 = (*el_ws3)[itr->second]; h_elTightTightNS_ws3->Fill(ws32); float fside1 = (*el_fside)[itr->first]; h_elTightTightNS_fside->Fill(fside1); float fside2 = (*el_fside)[itr->second]; h_elTightTightNS_fside->Fill(fside2); float Etcone201 = (*el_Etcone20)[itr->first]; h_elTightTightNS_Etcone20->Fill(Etcone201/GEV); float Etcone202 = (*el_Etcone20)[itr->second]; h_elTightTightNS_Etcone20->Fill(Etcone202/GEV); float nTRTHits1 = (*el_nTRTHits)[itr->first]; h_elTightTightNS_nTRTHits->Fill(nTRTHits1); float nTRTHits2 = (*el_nTRTHits)[itr->second]; h_elTightTightNS_nTRTHits->Fill(nTRTHits2); float nSiHits1 = (*el_nSiHits)[itr->first]; h_elTightTightNS_nSiHits->Fill(nSiHits1); float nSiHits2 = (*el_nSiHits)[itr->second]; h_elTightTightNS_nSiHits->Fill(nSiHits2); float nPixHits1 = (*el_nPixHits)[itr->first]; h_elTightTightNS_nPixHits->Fill(nPixHits1); float nPixHits2 = (*el_nPixHits)[itr->second]; h_elTightTightNS_nPixHits->Fill(nPixHits2); float nBLHits1 = (*el_nBLHits)[itr->first]; h_elTightTightNS_nBLHits->Fill(nBLHits1); float nBLHits2 = (*el_nBLHits)[itr->second]; h_elTightTightNS_nBLHits->Fill(nBLHits2); float TRTHighTHitsRatio1 = (*el_TRTHighTHitsRatio)[itr->first]; h_elTightTightNS_TRTHighTHitsRatio->Fill(TRTHighTHitsRatio1); float TRTHighTHitsRatio2 = (*el_TRTHighTHitsRatio)[itr->second]; h_elTightTightNS_TRTHighTHitsRatio->Fill(TRTHighTHitsRatio2); float deltaeta11 = (*el_deltaeta1)[itr->first]; h_elTightTightNS_deltaeta1->Fill(deltaeta11); float deltaeta12 = (*el_deltaeta1)[itr->second]; h_elTightTightNS_deltaeta1->Fill(deltaeta12); float deltaeta21 = (*el_deltaeta2)[itr->first]; h_elTightTightNS_deltaeta2->Fill(deltaeta21); float deltaeta22 = (*el_deltaeta2)[itr->second]; h_elTightTightNS_deltaeta2->Fill(deltaeta22); float deltaphi21 = (*el_deltaphi2)[itr->first]; h_elTightTightNS_deltaphi2->Fill(deltaphi21); float deltaphi22 = (*el_deltaphi2)[itr->second]; h_elTightTightNS_deltaphi2->Fill(deltaphi22); } ++n_elTightTightNS; } tot_Tight++; } if( aPlot != 0 ) { aPlot->Fill(); } if( writeTree != 0 ) { writeTree->Fill(); } } log_file << "No Sign Requirement" << endl; log_file << "Number of Tight pairs= " << n_elTightTightNS << endl; log_file << "Number of Tight events= " << tot_Tight << endl; log_file << "Number of Medium pairs= " << n_elMediumMediumNS << endl; log_file << "Number of Medium events= " << tot_Medium << endl; log_file << "Number of Loose pairs= " << n_elLooseLooseNS << endl; log_file << "Number of Loose events= " << tot_Loose << endl; log_file << "Number of total events= " << total << endl; log_file.close(); } #endif