Stephen Bailey wrote: > > Hi. > > I'm trying to project an ntuple into a histogram which I > defined so that I can control the number of bins used. > e.g. > > TH1F h1 = new TH1F("blat", "quat", 20, 4.5, 6); > ntuple->Draw("m>>+h1", "(4.5<m)&&(m<6.0)"); > h1->Draw(); > > I also tryed m>>h1, but the ntuple->Draw command always > picks its own choice for number of bins and h1 always > seems to remain empty. If I don't predefine h1 then it > gets created and properly filled but I don't have control > over the number of bins. > > Is there a way to do this easily (i.e. without looping > trough the ntuple and filling the histogram event by event)? > Replace: TH1F h1 = new TH1F(.. by TH1F *h1 = new TH1F(.. The TTree::Draw function (in the form "m>>+h1") fills an histogram with the name "h1". In your case h1 is the name of the pointer, not the name of the histogram ("blat"). It is a good practice to have the pointer_name = histogram_name. Your program will work with: TH1F *h1 = new TH1F("blat", "quat", 20, 4.5, 6); ntuple->Draw("m>>+blat", "(4.5<m)&&(m<6.0)"); h1->Draw(); or TH1F *blat = new TH1F("blat", "quat", 20, 4.5, 6); ntuple->Draw("m>>+blat", "(4.5<m)&&(m<6.0)"); blat->Draw(); Rene Brun
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:36 MET