Hello,
I try to clone some trees in rootifles using a map in entry.
My code is the following :
[code]#include
#include
#include
#include
#include
#include
#include “TChain.h”
#include “TH1F.h”
#include “TH2F.h”
#include “THStack.h”
#include “TCanvas.h”
#include “TApplication.h”
#include “TString.h”
#include “TMath.h”
#include “TLegend.h”
#include “Util.hpp”
int main(int argc, char* argv[])
{
//Launch the files
std::map<std::string, std::vectorstd::string > thelist;
Util::Fill_mapvec(thelist,“List_Files.txt”);
//Chain and make trees available
std::map<std::string, TChain*> processes=Util::Gime_map("/work/boudes-clued0/pgris/ana_cafe_p20/Trees_mu_jet/",thelist,“summary”);
//Now let us draw
//rootfiles de sortie
std::vector<TFile*> v_rootFile;
std::vector<TTree*> v_tree_out;
for(std::map<std::string, TChain*>::iterator it=processes.begin();it!=processes.end();++it)
{
std::string proc_name=it->first;
std::string name_rootFile = proc_name+"_tree_presel_etamu2.root";
std::string name_tree = proc_name+"_tree_presel_etamu2";
v_rootFile.push_back(new TFile(name_rootFile.c_str(),“RECREATE”));
v_tree_out.push_back(new TTree(“summary”,“summary”));
}
int i=0;
for(std::map<std::string, TChain*>::iterator it=processes.begin();it!=processes.end();++it)
{
Int_t nentries = (Int_t)it->second->GetEntries();
v_tree_out.push_back((it->second)->CloneTree());
for (Int_t k=0;k<nentries; k++) {
it->second->GetEntry(k);
(v_tree_out.at(i))->Fill();
}
(v_tree_out.at(i))->Print();
(v_tree_out.at(i))->Write();
//(v_tree_out.at(i))->AutoSave();
//(v_rootFile.at(i))->Close();
delete (v_rootFile.at(i));
i++;
}
return 0;
}[/code]
The aim is first to clone exactly all the rootfiles (each including a tree with variables, leaves) anf after that to do a cut on all some variables of the tree (for each rootfile) in order to get filtered trees.
But I get a bad error at the execution, that I cannot explain :
Error in TTree::Fill: Failed filling branch:summary.DeltaR_Muon_Topscaledmedium2_Tau3, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.DeltaRmin_Muon_NPloose1_Jet_notau, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.DeltaRmin_Muon_NPloose2_Jet_notau, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.DeltaRmin_Muon_NPtight1_Jet_notau, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.DeltaRmin_Muon_NPtight2_Jet_notau, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.DeltaRmin_Muon_Topp141_Jet_notau, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.DeltaRmin_Muon_Topp142_Jet_notau, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.DeltaRmin_Muon_Unknown1_Jet_notau, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.DeltaRmin_Muon_Unknown2_Jet_notau, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Mass_Muon_Topscaledloose1_Tau1, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Mass_Muon_Topscaledloose1_Tau2, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Mass_Muon_Topscaledloose1_Tau3, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Mass_Muon_Topscaledloose2_Tau1, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Mass_Muon_Topscaledloose2_Tau2, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Mass_Muon_Topscaledloose2_Tau3, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Mass_Muon_Topscaledmedium1_Tau1, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Mass_Muon_Topscaledmedium1_Tau2, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Mass_Muon_Topscaledmedium1_Tau3, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Mass_Muon_Topscaledmedium2_Tau1, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Mass_Muon_Topscaledmedium2_Tau2, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Mass_Muon_Topscaledmedium2_Tau3, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledloose1_DphiMet_tau, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledloose1_MTMet_tau, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledloose1_ettrkcone, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledloose1_is_cosmic, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledloose1_is_in_hole, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledloose1_is_medium, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledloose2_DphiMet_tau, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledloose2_MTMet_tau, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledloose2_ettrkcone, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledloose2_is_cosmic, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledloose2_is_in_hole, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledloose2_is_medium, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledmedium1_DphiMet_tau, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledmedium1_MTMet_tau, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledmedium1_ettrkcone, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledmedium1_is_cosmic, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledmedium1_is_in_hole, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledmedium1_is_loose, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledmedium1_is_medium, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledmedium2_DphiMet_tau, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledmedium2_MTMet_tau, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledmedium2_ettrkcone, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledmedium2_is_cosmic, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledmedium2_is_in_hole, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledmedium2_is_loose, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.Muon_Topscaledmedium2_is_medium, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.DeltaPhi_Muon_NPloose1_Tau1, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.DeltaPhi_Muon_NPloose1_Tau2, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.DeltaPhi_Muon_NPloose1_Tau3, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.DeltaPhi_Muon_NPloose2_Tau1, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.DeltaPhi_Muon_NPloose2_Tau2, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.DeltaPhi_Muon_NPloose2_Tau3, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.DeltaPhi_Muon_NPtight1_Tau1, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.DeltaPhi_Muon_NPtight1_Tau2, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.DeltaPhi_Muon_NPtight1_Tau3, nbytes=-1
Error in TTree::Fill: Failed filling branch:summary.DeltaPhi_Muon_NPtight2_Tau1, nbytes=-1
terminate called after throwing an instance of 'std::bad_alloc’
what(): St9bad_alloc
Abort (core dumped)
Does someone have an idea of the particular lines that may have caused the bug ?
Thank you very much for your help!
Jerome