online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#define inclphoton_cxx #include "inclphoton.h" #include <TH2.h> #include <TH1.h> #include <TStyle.h> #include <TCanvas.h> #include <TLorentzVector.h> #include <TRandom1.h> #include <TRandom2.h> #include <TRandom3.h> #include <TLegend.h> #include <TMath.h> //gROOT->cd(); // Move to the ROOT directory //TH1::AddDirectory(kFALSE); //gDirectory->AddDirectory(kFALSE); //TH1::SetDirectory(0); void inclphoton::Loop() { // gROOT->cd(); // Move to the ROOT directory // TH1::AddDirectory(kFALSE); // TH1::SetDirectory(0); TRandom *r1=new TRandom(); TFile *inclphoton_Plots= new TFile("inclphoton_Plots_Esi.root","RECREATE"); /***************************************************Region A R=0.2*************************************************************************/ //TH1F *PholeadpT = new TH1F("PhotonpT", "Photon_{p_{T}} (GeV)", 50, 0.0, 1000.0); TH1F *ptHistogram_1A = new TH1F("photon_pt(eta1A)", "", 12, ptbinsARC); TH1F *ptHistogram_2A = new TH1F("photon_pt(eta2A)", "", 12, ptbinsARC); TH1F *ptHistogram_3A = new TH1F("photon_pt(eta3A)", "", 12, ptbinsARC); TH1F *ptHistogram_4A = new TH1F("photon_pt(eta4A)", "", 12, ptbinsARC); TH1F *ptHistogram_5A = new TH1F("photon_pt(eta5A)", "", 12, ptbinsARC); TH1F *ptHistogram_6A = new TH1F("photon_pt(eta6A)", "", 12, ptbinsARC); TH1F *ptHistogram_1B = new TH1F("photon_pt(eta1B)", "", 12, ptbinsARC); TH1F *ptHistogram_2B = new TH1F("photon_pt(eta2B)", "", 12, ptbinsARC); TH1F *ptHistogram_3B = new TH1F("photon_pt(eta3B)", "", 12, ptbinsARC); TH1F *ptHistogram_4B = new TH1F("photon_pt(eta4B)", "", 12, ptbinsARC); TH1F *ptHistogram_5B = new TH1F("photon_pt(eta5B)", "", 12, ptbinsARC); TH1F *ptHistogram_6B = new TH1F("photon_pt(eta6B)", "", 12, ptbinsARC); TH1F *ptHistogram_1C = new TH1F("photon_pt(eta1C)", "", 12, ptbinsARC); TH1F *ptHistogram_2C = new TH1F("photon_pt(eta2C)", "", 12, ptbinsARC); TH1F *ptHistogram_3C = new TH1F("photon_pt(eta3C)", "", 12, ptbinsARC); TH1F *ptHistogram_4C = new TH1F("photon_pt(eta4C)", "", 12, ptbinsARC); TH1F *ptHistogram_5C = new TH1F("photon_pt(eta5C)", "", 12, ptbinsARC); TH1F *ptHistogram_6C = new TH1F("photon_pt(eta6C)", "", 12, ptbinsARC); TH1F *ptHistogram_1D = new TH1F("photon_pt(eta1D)", "", 12, ptbinsARC); TH1F *ptHistogram_2D = new TH1F("photon_pt(eta2D)", "", 12, ptbinsARC); TH1F *ptHistogram_3D = new TH1F("photon_pt(eta3D)", "", 12, ptbinsARC); TH1F *ptHistogram_4D = new TH1F("photon_pt(eta4D)", "", 12, ptbinsARC); TH1F *ptHistogram_5D = new TH1F("photon_pt(eta5D)", "", 12, ptbinsARC); TH1F *ptHistogram_6D = new TH1F("photon_pt(eta6D)", "", 12, ptbinsARC); TH1F *ptHistogram_Et02 = new TH1F("photon_ET02", "", 50, 0.0, 600.0); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// if (fChain == 0) return; Long64_t nentries = fChain->GetEntriesFast(); Long64_t nbytes = 0, nb = 0; for (Long64_t i=0; i<nentries;i++) { Long64_t ientry = LoadTree(i); if (ientry < 0) break; nb = fChain->GetEntry(i); nbytes += nb; float highPt = 0.0; int nPtBins = 12; // 13 - 1 int ipps = ttdata_presel_photonPt->size(); // tdata_HLT_g140_loose = false; for ( int ipp = 0; ipp<ipps; ipp++ ) { phleadingpt=ttdata_presel_photonPt->at(ipp); phleadingeta=ttdata_presel_photonEta->at(ipp); phleadingphi=ttdata_presel_photonPhi->at(ipp); phleadingetiso=ttdata_phetiso20_new->at(ipp); phleadingtight=ttdata_presel_photonTight->at(ipp); phleadingNewp4=ttdata_presel_Newp4->at(ipp); // ptHistogram_Et02->Fill(ttdata_phetiso20_new->at(ipp)); /////////////////////////////////////////////// Region A with R =0.2 /////////////////////////////////////////////////////////////////////// if (phleadingpt > 250 && phleadingtight == 1 && phleadingetiso < 4.8 +((4.2/1000)*phleadingpt) && tdata_HLT_g140_loose == true){ if (fabs(phleadingeta)<=0.6) { ptHistogram_1A->Fill(phleadingpt); std::cout << "Pt :" << phleadingpt << std::endl; } else if ( fabs(phleadingeta)>0.6 && fabs(phleadingeta)<=0.8) { ptHistogram_2A->Fill(phleadingpt); } else if (fabs(phleadingeta)>0.8 && fabs(phleadingeta)<=1.37){ ptHistogram_3A->Fill(phleadingpt); } else if ( fabs(phleadingeta)>1.56 && fabs(phleadingeta)<=1.81) { ptHistogram_4A->Fill(phleadingpt); } else if (fabs(phleadingeta)>1.81 && fabs(phleadingeta)<=2.01) { ptHistogram_5A->Fill(phleadingpt); } else (fabs(phleadingeta)>2.01 && fabs(phleadingeta)<=2.37); { ptHistogram_6A->Fill(phleadingpt); } } /////////////////////////////////////////////// Region B with R =0.2 "T + niso" /////////////////////////////////////////////////////////// if (phleadingpt > 250 && phleadingtight == 1 && phleadingetiso > 4.8 +((4.2/1000)*phleadingpt) && tdata_HLT_g140_loose == true){ if (fabs(phleadingeta)<=0.6) { ptHistogram_1B->Fill(phleadingpt); } else if ( fabs(phleadingeta)>0.6 && fabs(phleadingeta)<=0.8) { ptHistogram_2B->Fill(phleadingpt); } else if (fabs(phleadingeta)>0.8 && fabs(phleadingeta)<=1.37){ ptHistogram_3B->Fill(phleadingpt); } else if ( fabs(phleadingeta)>1.56 && fabs(phleadingeta)<=1.81) { ptHistogram_4B->Fill(phleadingpt); } else if (fabs(phleadingeta)>1.81 && fabs(phleadingeta)<=2.01) { ptHistogram_5B->Fill(phleadingpt); } else (fabs(phleadingeta)>2.01 && fabs(phleadingeta)<=2.37); { ptHistogram_6B->Fill(phleadingpt); } } /////////////////////////////////////////////// Region C with R =0.2 NT + iso////////////////////////////////////////////////////////////// if (phleadingpt > 250 && phleadingtight == 0 && phleadingetiso < 4.8 +((4.2/1000)*phleadingpt) && tdata_HLT_g140_loose == true){ if (fabs(phleadingeta)<=0.6) { ptHistogram_1C->Fill(phleadingpt); } else if ( fabs(phleadingeta)>0.6 && fabs(phleadingeta)<=0.8) { ptHistogram_2C->Fill(phleadingpt); } else if (fabs(phleadingeta)>0.8 && fabs(phleadingeta)<=1.37){ ptHistogram_3C->Fill(phleadingpt); } else if ( fabs(phleadingeta)>1.56 && fabs(phleadingeta)<=1.81) { ptHistogram_4C->Fill(phleadingpt); } else if (fabs(phleadingeta)>1.81 && fabs(phleadingeta)<=2.01) { ptHistogram_5C->Fill(phleadingpt); } else (fabs(phleadingeta)>2.01 && fabs(phleadingeta)<=2.37); { ptHistogram_6C->Fill(phleadingpt); } } /////////////////////////////////////////////// Region D with R =0.2 NT + Niso /////////////////////////////////////////////////////////// if (phleadingpt > 250 && phleadingtight == 0 && phleadingetiso > 4.8 +((4.2/1000)*phleadingpt) && tdata_HLT_g140_loose == true){ if (fabs(phleadingeta)<=0.6) { ptHistogram_1D->Fill(phleadingpt); } else if ( fabs(phleadingeta)>0.6 && fabs(phleadingeta)<=0.8) { ptHistogram_2D->Fill(phleadingpt); } else if (fabs(phleadingeta)>0.8 && fabs(phleadingeta)<=1.37){ ptHistogram_3D->Fill(phleadingpt); } else if ( fabs(phleadingeta)>1.56 && fabs(phleadingeta)<=1.81) { ptHistogram_4D->Fill(phleadingpt); } else if (fabs(phleadingeta)>1.81 && fabs(phleadingeta)<=2.01) { ptHistogram_5D->Fill(phleadingpt); } else (fabs(phleadingeta)>2.01 && fabs(phleadingeta)<=2.37); { ptHistogram_6D->Fill(phleadingpt); } } } } ptHistogram_1A->Draw(); inclphoton_Plots->Write(); // Set the ROOT style for a nicer appearance gStyle->SetOptStat(1); // Disable statistics box gStyle->SetPalette(1); // Use the default color palette /* TCanvas *canvas = new TCanvas("canvas", "Multiple Histograms", 800, 600); // Set histogram styles if needed ptHistogram_1A->SetLineColor(kBlue); ptHistogram_1B->SetLineColor(kRed); ptHistogram_1C->SetLineColor(kGreen); ptHistogram_1D->SetLineColor(kOrange); // Draw histograms on the same canvas ptHistogram_1D->Draw(); ptHistogram_1A->Draw("SAME"); ptHistogram_1B->Draw("SAME"); // "SAME" draws on the same pad ptHistogram_1C->Draw("SAME"); // Add a legend TLegend *legend = new TLegend(0.7, 0.7, 0.9, 0.9); legend->AddEntry(ptHistogram_1A, "Region A", "l"); legend->AddEntry(ptHistogram_1B, "Region B", "l"); legend->AddEntry(ptHistogram_1C, "Region C", "l"); legend->AddEntry(ptHistogram_1D, "Region D", "l"); legend->Draw(); // Show the canvas canvas->Draw(); // Save the canvas in EPS format canvas->SaveAs("multiple_histograms.eps");*/ }
#ifndef inclphoton_h #define inclphoton_h #include <TROOT.h> #include <TChain.h> #include <TFile.h> #include <iostream> #include "vector" #include <string> class inclphoton { public : TTree *fChain; Int_t fCurrent; // Declaration of leaf types UInt_t RunNumber; ULong64_t EventNumber; Bool_t tdata_HLT_g140_loose; vector<float> *ttdata_presel_photonPt; vector<float> *ttdata_presel_photonE; vector<float> *ttdata_presel_photonEta; vector<float> *ttdata_presel_photonEtas2; vector<float> *ttdata_presel_photonPhi; vector<bool> *ttdata_presel_photonTight; vector<unsigned int> *ttdata_presel_photonIsemTight; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// float ptbinsARC[13]={250.,300.,350.,400.,470.,550.,650.,750.,900.,1100.,1500.,2000.,2500.}; float phleadingpt =0; float phleadingeta=0; float phleadingphi=0; float phleadingetiso=0; float phleadingtight=0; float phleadingNewp4=0; std::vector<std::string> files; //files.push_back("/userdata/sbatlamo/inclusivePhoton/data15/user.jterron.data15periodd.n181.periodD.DAOD_STDM2.grp23_v01_p3984_ANALYSIS_ntuples/user.jterron.26552633._000002.ANALYSIS.root"); // List of branches TBranch *b_RunNumber; //! TBranch *b_EventNumber; //! TBranch *b_tdata_HLT_g140_loose; //! TBranch *b_ttdata_presel_photonPt; //! TBranch *b_ttdata_presel_photonE; //! TBranch *b_ttdata_presel_photonEta; //! TBranch *b_ttdata_presel_photonEtas2; //! TBranch *b_ttdata_presel_photonPhi; //! TBranch *b_ttdata_presel_photonTight; //! inclphoton(TTree *tree=0); virtual ~inclphoton(); virtual Int_t Cut(Long64_t entry); virtual Int_t GetEntry(Long64_t entry); virtual Long64_t LoadTree(Long64_t entry); virtual void Init(TTree *tree); virtual void Loop(); virtual Bool_t Notify(); virtual void Show(Long64_t entry = -1); }; #endif #ifdef inclphoton_cxx /*inclphoton::inclphoton(TTree *tree) : fChain(0) { if (tree == 0) { TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject("/userdata/sbatlamo/inclusivePhoton/data15/user.jterron.data15periodd.n181.periodD.DAOD_STDM2.grp23_v01_p3984_ANALYSIS_ntuples/user.jterron.26552633._000001.ANALYSIS.root"); if (!f || !f->IsOpen()) { f = new TFile("/userdata/sbatlamo/inclusivePhoton/data15/user.jterron.data15periodd.n181.periodD.DAOD_STDM2.grp23_v01_p3984_ANALYSIS_ntuples/user.jterron.26552633._000001.ANALYSIS.root"); } f->GetObject("analysis",tree); } Init(tree); }*/ ///////////////////////////////////////////////////////////////Test///////////////77 inclphoton::inclphoton(TTree *tree) : fChain(0) { TH1::AddDirectory(kFALSE); files.push_back("/userdata/sbatlamo/inclusivePhoton/data15/user.jterron.data15periodd.n181.periodD.DAOD_STDM2.grp23_v01_p3984_ANALYSIS_ntuples/user.jterron.26552633._000001.ANALYSIS.root"); files.push_back("/userdata/sbatlamo/inclusivePhoton/data15/user.jterron.data15periodd.n181.periodD.DAOD_STDM2.grp23_v01_p3984_ANALYSIS_ntuples/user.jterron.26552633._000002.ANALYSIS.root"); files.push_back("/userdata/sbatlamo/inclusivePhoton/data15/user.jterron.data15periodd.n181.periodD.DAOD_STDM2.grp23_v01_p3984_ANALYSIS_ntuples/user.jterron.26552633._000003.ANALYSIS.root"); if (!tree) { TFile *f; for (const auto& fileName : files) { std::cout << "Processing file: " << fileName << std::endl; f = TFile::Open(fileName.c_str()); if (!f || !f->IsOpen()) { std::cerr << "Error opening file: " << fileName << std::endl; continue; } f->ls(); f->GetObject("analysis", tree); std::cout<< "////////////////////////////////////////////"<<std::endl; std::cout << "Total entries in fChain: " << tree->GetEntries() << std::endl; //f->Close(); //delete f; } } Init(tree); } ///////////////////////////////////////////////////////////////////////////////// inclphoton::~inclphoton() { if (!fChain) return; delete fChain->GetCurrentFile(); } Int_t inclphoton::GetEntry(Long64_t entry) { if (!fChain) return 0; return fChain->GetEntry(entry); } Long64_t inclphoton::LoadTree(Long64_t entry) { if (!fChain) return -5; Long64_t centry = fChain->LoadTree(entry); if (centry < 0) return centry; if (fChain->GetTreeNumber() != fCurrent) { fCurrent = fChain->GetTreeNumber(); Notify(); } return centry; } void inclphoton::Init(TTree *tree) { // Set object pointeri ttdata_presel_photonPt = 0; ttdata_presel_photonE = 0; ttdata_presel_photonEta = 0; ttdata_presel_photonEtas2 = 0; ttdata_presel_photonPhi = 0; ttdata_presel_photonTight = 0; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// if (!tree) return; fChain = tree; fCurrent = -1; fChain->SetMakeClass(1); fChain->SetBranchAddress("RunNumber", &RunNumber, &b_RunNumber); fChain->SetBranchAddress("EventNumber", &EventNumber, &b_EventNumber); fChain->SetBranchAddress("tdata_eventClean_LooseBad", &tdata_eventClean_LooseBad, &b_tdata_eventClean_LooseBad); fChain->SetBranchAddress("tdata_HLT_g140_loose", &tdata_HLT_g140_loose, &b_tdata_HLT_g140_loose); fChain->SetBranchAddress("ttdata_presel_photonPt", &ttdata_presel_photonPt, &b_ttdata_presel_photonPt); fChain->SetBranchAddress("ttdata_presel_photonE", &ttdata_presel_photonE, &b_ttdata_presel_photonE); fChain->SetBranchAddress("ttdata_presel_photonEta", &ttdata_presel_photonEta, &b_ttdata_presel_photonEta); fChain->SetBranchAddress("ttdata_presel_photonEtas2", &ttdata_presel_photonEtas2, &b_ttdata_presel_photonEtas2); fChain->SetBranchAddress("ttdata_presel_photonPhi", &ttdata_presel_photonPhi, &b_ttdata_presel_photonPhi); fChain->SetBranchAddress("ttdata_presel_photonTight", &ttdata_presel_photonTight, &b_ttdata_presel_photonTight); Notify(); } Bool_t inclphoton::Notify() { return kTRUE; } void inclphoton::Show(Long64_t entry) { if (!fChain) return; fChain->Show(entry); } Int_t inclphoton::Cut(Long64_t entry) { return 1; } #endif

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue