Hi,
I am using TTree::MakeClass to create this macro:
#define Analysis_cxx
#include "Analysis.h"
#include <TH2.h>
#include <TStyle.h>
#include <TCanvas.h>
#include <cmath>
#include <iostream>
#include <list>
using std::cout;
using std::endl;
#include <fstream>
#include <vector>
using std::vector;
#include <string>
using std::string;
void Analysis::Loop()
{
fChain->SetBranchStatus("*",0); // disable all branches
fChain->SetBranchStatus("dstar_kpipi_dm",1); // activate branchname
if (fChain == 0) return;
TH1D *hdm = new TH1D("hdm","delta mass", 500, 130, 180);
Long64_t nentries = fChain->GetEntriesFast();
Long64_t nbytes = 0, nb = 0;
for (Long64_t jentry=0; jentry<nentries;jentry++) {
Long64_t ientry = LoadTree(jentry);
if (ientry < 0) break;
nb = fChain->GetEntry(jentry); nbytes += nb;
Double_t dm;
dm = b_dstar_kpipi_dm->GetEntry(ientry);
hdm->Fill(dm);
cout << "b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; " << dm << " / " << dstar_kpipi_dm[ientry] << endl;
}
hdm->Draw();
}
and the output from the cout is :
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 580 / -999
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 332 / 1497.06
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 324 / -999
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 980 / 414.299
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 312 / 350.336
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 576 / 443.982
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 624 / 300.958
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 544 / 746.902
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 596 / -999
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 632 / 777.441
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 296 / 690.012
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 680 / 330.229
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 420 / 195.626
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 552 / 804.128
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 336 / -999
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 540 / -999
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 244 / -999
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 500 / 413.373
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 648 / 471.233
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 464 / -999
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 656 / 568.021
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 420 / -999
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 524 / 1160.47
b_dstar_kpipi_dm->GetEntry(ientry) / dstar_kpipi_dm[ientry]; 604 / 1395.15
.
.
.
From the header file, the variable leaf type is Float_t dstar_kpipi_dm[320]; //[Ntracks]
and branch TBranch *b_dstar_kpipi_dm; //!
.
I am confused about why b_dstar_kpipi_dm->GetEntry(ientry)
and dstar_kpipi_dm[ientry]
result in different numbers. I know the variable is a vector but I do not understand why the branch entries do not match the variable entries.
If I fill my histogram with b_dstar_kpipi_dm->GetEntry(ientry)
I do not get the right values in my histogram and if I fill my histogram with dstar_kpipi_dm[ientry]
all the entries go into the 0 bin.
If someone could explain this to me I would be grateful.
Thanks,
Sarah