std::vector<Double_t> medianEnergy;
std::vector<UInt_t> runNumber_energy;
std::vector<double> energies;
const int entries_per_median = 10000;
for (size_t i = 0; i < tree->GetEntries(); ++i) {
tree->GetEntry(i);
energies.push_back(energy);
if (energies.size() % entries_per_median == 0) {
std::sort(energies.begin(), energies.end());
medianEnergy.push_back((energies[entries_per_median / 2 - 1] + energies[entries_per_median / 2]) / 2.0);
runNumber_energy.push_back(runNumber);
energies.clear();
}
}
TCanvas* canvas = new TCanvas("canvas", "Graph", 800, 600);
// Plotting the graph without errors
TGraph* graph = new TGraph(runNumber_energy.size(), runNumber_energy, medianEnergy);
graph->SetTitle("Energy vs Run Number");
graph->GetXaxis()->SetTitle("Run Number");
graph->GetYaxis()->SetTitle("Energy");
graph->SetMarkerStyle(20);
graph->SetMarkerSize(0.8);
graph->Draw("AP");
it is giving an error because I am using a classical vector, is there any way to resolve it?
TGraph* graph = new TGraph(runNumber_energy.size(), runNumber_energy, medianEnergy);this line still giving error