#define Analyzer_cxx #include "Analyzer.h" #include #include #include #include #include void Analyzer::Loop(TString Folder) { // In a ROOT session, you can do: // root> .L Analyzer.C // root> Analyzer t // root> t.GetEntry(12); // Fill t data members with entry number 12 // root> t.Show(); // Show values of entry 12 // root> t.Show(16); // Read and show values of entry 16 // root> t.Loop(); // Loop on all entries // // This is the loop skeleton where: // jentry is the global entry number in the chain // ientry is the entry number in the current Tree // Note that the //argument to GetEntry must be: // jentry for TChain::GetEntry // ientry for TTree::GetEntry and TBranch::GetEntry // // To read only selected branches, Insert //statements like: // METHOD1: // fChain->SetBranchStatus("*",0); // disable all branches // fChain->SetBranchStatus("branchname",1); // activate branchname // //METHOD2: replace line // fChain->GetEntry(jentry); //read all branches //by b_branchname->GetEntry(ientry); //read only this branch if (fChain == 0) return; double weight=1; double _k_factor=1; double _lumi=35.8; TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject("Moriond_2017/"+Folder+"/ZZ4lAnalysis.root"); hCounters = (TH1F*)f->Get("ZZTree/Counters"); double gen_sum_weights = (Long64_t)hCounters->GetBinContent(40); Long64_t nentries = fChain->GetEntriesFast(); Long64_t nbytes = 0, nb = 0; for (Long64_t jentry=0; jentryGetEntry(jentry); nbytes += nb; // Ovdje analiziramo event i punimo ga u histograme // cout << "Event broj: " << EventNumber << "\n ZZMass = " << ZZMass << endl; if(Folder=="ZZTo4l"){_k_factor=KFactor_EW_qqZZ * KFactor_QCD_qqZZ_M;} else if(Folder=="ggTo2e2mu"){_k_factor = KFactor_QCD_ggZZ_Nominal;} else if(Folder=="ggTo2e2tau"){_k_factor = KFactor_QCD_ggZZ_Nominal;} else if(Folder=="ggTo2mu2tau"){_k_factor = KFactor_QCD_ggZZ_Nominal;} else if(Folder=="ggTo4e"){_k_factor = KFactor_QCD_ggZZ_Nominal;} else if(Folder=="ggTo4mu"){_k_factor = KFactor_QCD_ggZZ_Nominal;} else if(Folder=="ggTo4tau"){_k_factor = KFactor_QCD_ggZZ_Nominal;} cout << _k_factor << endl; if(Folder=="Data") {weight=1;} else{ weight = (_lumi * 1000 * xsec * _k_factor * overallEventWeight) / gen_sum_weights; // if(Folder=="ZZTo4l"){ h1->Fill(ZZMass,weight);} else if(Folder=="ggTo4e"){ h2->Fill(ZZMass,weight);} else if(Folder=="ggTo2mu2tau"){ h3->Fill(ZZMass,weight);} else if(Folder=="VBFH125"){ h4->Fill(ZZMass,weight);} else if(Folder=="ggH125"){ h5->Fill(ZZMass,weight);} else if(Folder=="WminusH125"){ h6->Fill(ZZMass,weight);} else if(Folder=="ggTo2e2mu"){ h7->Fill(ZZMass,weight);} else if(Folder=="ggTo4mu"){ h8->Fill(ZZMass,weight);} else if(Folder=="WplusH125"){ h9->Fill(ZZMass,weight);} else if(Folder=="ggTo2e2tau"){ h10->Fill(ZZMass,weight);} else if(Folder=="ggTo4tau"){ h11->Fill(ZZMass,weight);} else if(Folder=="ttH125"){ h12->Fill(ZZMass,weight);} else if(Folder=="ZH125"){ h13->Fill(ZZMass,weight);} // H_Mass->Fill(ZZMass,weight); }//Kraj loop-a po eventovima } } void Analyzer::InitializeHistos(TString Folder) { { hs= new THStack("hs",""); h1= new TH1F("h1","Histogram usporedbe",300,70,370); h1->FillRandom("gaus",20000); h1->SetFillColor(kRed); hs->Add(h1); h2= new TH1F("h1","Histogram usporedbe",300,70,370); h2->FillRandom("gaus",20000); h2->SetFillColor(kWhite); hs->Add(h2); h3= new TH1F("h3","Histogram usporedbe",300,70,370); h3->FillRandom("gaus",20000); h3->SetFillColor(kGray); hs->Add(h3); h4= new TH1F("h4","Histogram usporedbe",300,70,370); h4->FillRandom("gaus",20000); h4->SetFillColor(kGreen); hs->Add(h4); h5= new TH1F("h5","Histogram usporedbe",300,70,370); h5->FillRandom("gaus",20000); h5->SetFillColor(kBlue); hs->Add(h5); h6= new TH1F("h6","Histogram usporedbe",300,70,370); h6->FillRandom("gaus",20000); h6->SetFillColor(kYellow); hs->Add(h6); h7= new TH1F("h7","Histogram usporedbe",300,70,370); h7->FillRandom("gaus",20000); h7->SetFillColor(kMagenta); hs->Add(h7); h8= new TH1F("h8","Histogram usporedbe",300,70,370); h8->FillRandom("gaus",20000); h8->SetFillColor(kCyan); hs->Add(h8); h9= new TH1F("h9","Histogram usporedbe",300,70,370); h9->FillRandom("gaus",20000); h9->SetFillColor(kOrange); hs->Add(h9); h10= new TH1F("h10","Histogram usporedbe",300,70,370); h10->FillRandom("gaus",20000); h10->SetFillColor(kSpring); hs->Add(h10); h11= new TH1F("h11","Histogram usporedbe",300,70,370); h11->FillRandom("gaus",20000); h11->SetFillColor(kTeal); hs->Add(h11); h12= new TH1F("h12","Histogram usporedbe",300,70,370); h12->FillRandom("gaus",20000); h12->SetFillColor(kViolet); hs->Add(h12); h13= new TH1F("h13","Histogram usporedbe",300,70,370); h13->FillRandom("gaus",20000); h13->SetFillColor(kPink); hs->Add(h13); }} void Analyzer::DrawHistos(TString Folder) { { //if(Folder=="ZZTo4l"){ // TCanvas *c1 = new TCanvas("c1","Canvas za masu",900,600); // h1->Draw(); // c1->SaveAs("Histogram1.pdf"); //} // else if(Folder=="ggTo4e"){ // TCanvas *c2 = new TCanvas("c2","Canvas za masu",900,600); // h2->Draw(); // c2->SaveAs("Histogram2.pdf");} // else if(Folder=="ggTo2mu2tau"){ // TCanvas *c3 = new TCanvas("c3","Canvas za masu",900,600); // c3->cd(); // h3->Draw(); // c3->SaveAs("Histogram3.pdf");} // else if(Folder=="VBFH125"){ // TCanvas *c4 = new TCanvas("c4","Canvas za masu",900,600); // c4->cd(); // h4->Draw(); // c4->SaveAs("Histogram4.pdf");} // else if(Folder=="ggH125"){ // TCanvas *c5 = new TCanvas("c5","Canvas za masu",900,600); // c5->cd(); // h5->Draw(); // c5->SaveAs("Histogram5.pdf");} // else if(Folder=="WminusH125"){ // TCanvas *c6 = new TCanvas("c6","Canvas za masu",900,600); // c6->cd(); // h6->Draw(); // c6->SaveAs("Histogram6.pdf");} // else if(Folder=="ggTo2e2mu"){ // TCanvas *c7 = new TCanvas("c7","Canvas za masu",900,600); // c7->cd(); // h7->Draw(); // c7->SaveAs("Histogram7.pdf");} // else if(Folder=="ggTo4mu"){ // TCanvas *c8 = new TCanvas("c8","Canvas za masu",900,600); // c8->cd(); // h8->Draw(); // c8->SaveAs("Histogram8.pdf");} // else if(Folder=="WplusH125"){ // TCanvas *c9 = new TCanvas("c9","Canvas za masu",900,600); // c9->cd(); // h9->Draw(); // c9->SaveAs("Histogram9.pdf");} // else if(Folder=="ggTo2e2tau"){ // TCanvas *c10 = new TCanvas("c10","Canvas za masu",900,600); // c10->cd(); // h10->Draw(); // c10->SaveAs("Histogram10.pdf");} // else if(Folder=="ggTo4tau"){ // TCanvas *c11 = new TCanvas("c11","Canvas za masu",900,600); // c11->cd(); // h11->Draw(); // c11->SaveAs("Histogram11.pdf");} // else if(Folder=="ttH125"){ // TCanvas *c12 = new TCanvas("c12","Canvas za masu",900,600); // c12->cd(); // h12->Draw(); // c12->SaveAs("Histogram12.pdf");} // else if(Folder=="ZH125"){ // TCanvas *c13 = new TCanvas("c13","Canvas za masu",900,600); // c13->cd(); // h13->Draw(); // c13->SaveAs("Histogram13.pdf");} c1 = new TCanvas("c1","",900,600); c1->Divide(2,2); c1->cd(1); hs->Draw(); c1->cd(2); hs->Draw("nostack"); c1->cd(3); hs->Draw("lego1"); c1->cd(4); hs->Draw(); c1->SaveAs("Histogram_Finar.pdf"); }}