multiple histos with the same name

From: Pietro GOVONI <pietro.govoni_at_mib.infn.it>
Date: Wed, 8 Jun 2005 17:09:52 +0200


Dear Rooters,

in studying cuts on a dataset I produced a lot of ROOT files, each of them containing the same histograms, related to different cuts.

I am trying to loop over the files and produce an overall plot, but I cannot, since:

  1. I need to call TH2F::FitSilcesY () on a TH2F histogram and I get the results in the ROOT memory only
  2. All the histograms are the same one in different files, so they have the same name, title, range, binning . . .

How can I produce a plot, or a collection, of the result of FitSlicesY when applied to all the histograms?

I am working with ROOT Version 4.00/06 on macosx.

Let me provide the macro I was trying to use, that didn't work.

Kind regards

pietro

int macro2 ()
{

     TH1F * tutti[30] ;
     int cont = 0 ;

     for (int i=0 ; i<10; ++i)

{
char nomeFile[80] ; sprintf (nomeFile,"c0%d/salvo.root",i) ; std::cout << "opening: " << nomeFile << std::endl ; TFile f (nomeFile) ; f.cd () ; // TH2F * histo = (TH2F *) f.Get ("E25oPin_eta_gsf") ; std::cout << "histogram " << E25oPin_eta_gsf->GetName () << " found" << std::endl ; E25oPin_eta_gsf->FitSlicesY () ; tutti[cont] = new TH1F ((TH1F*) E25oPin_eta_gsf_1->Clone (nomeFile)) ; ++cont ; f.Close () ; if (i>5) { sprintf (nomeFile,"c0%d5/salvo.root",i) ; std::cout << "opening: " << nomeFile << std::endl ; TFile f (nomeFile) ; f.cd () ; // TH2F * histo = (TH2F *) f.Get ("E25oPin_eta_gsf") ; std::cout << "histogram " << E25oPin_eta_gsf->GetName () << " found" << std::endl ; E25oPin_eta_gsf->FitSlicesY () ; tutti[cont] = new TH1F ((TH1F*) E25oPin_eta_gsf_1->Clone (nomeFile)) ; ++cont ; f.Close () ; } } TH2F h2 ("h2","peak distribution",10,0,1.5,10,0.8,1.1) ; h2.SetStats (0) ; TCanvas * c1 = new TCanvas ("c1") ; c1->Draw () ; h2.Draw () ; for (int i=0; i<cont; ++i)
{
tutti[i]->SetMarkerStyle (28) ; tutti[i]->SetMarkerColor (50+2*i) ; tutti[i]->Draw ("same") ; } c1->Draw () ; c1->Print ("prova.gif","gif") ; delete c1 ;

} Received on Wed Jun 08 2005 - 17:08:52 MEST

This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:09 MET