Reading the TTree cbmsim with R3B member functions [message #18516] | 
			Fri, 18 September 2015 10:28   | 
		 
		
			
				
				
				
					
						  
						C. A. Douma
						 Messages: 88 Registered: September 2015  Location: Groningen
						
					 | 
					continuous participant  | 
					From: *kvi-cart.rug.nl
  | 
		 
		 
	 | 
 
	
		Dear all, 
 
I am a new R3Broot user. until now I have been reading the cbmsim tree in the following way: 
 
TFile* f = new TFile("r3bsim.root","read"); 
TTree* t; 
f->GetObject("cbmsim",t); 
TLeaf* LandPoint_fLightYield = cbmsim->FindLeaf("LandPoint.fLightYield"); 
Long64_t nEvents = t->GetEntries(); 
Long64_t nBytes; 
TH1D* h = new TH1D("h","h",100,0.0,1.0); 
Int_t EventSize; 
Double_t light; 
for (Long64_t Entry = 0; Entry<nEvents; ++Entry) 
{ 
   nBytes = t->GetEntry(Entry); 
   EventSize = LandPoint_fLightYield->GetNdata(); 
 
   for (Int_t k = 0; k<EventSize; ++k) 
   { 
       light = LandPoint_fLightYield->GetValue(k); 
       h->Fill("light"0; 
   } 
} 
h->Draw(); 
 
I would like to change this code into using the special R3B member functions: 
 
TFile* f = new TFile("r3bsim.root","read"); 
TTree* t; 
f->GetObject("cbmsim",t); 
TClonesArray* LandPoints; 
LandPoints = new TClonesArray("R3BLandPoint"); 
R3BLandPoint* Single_LandPoint; 
Long64_t nEvents = t->GetEntries(); 
Long64_t nBytes; 
TH1D* h_new = new TH1D("h_new","h_new",100,0.0,1.0); 
Int_t EventSize; 
Double_t light; 
for (Long64_t Entry = 0; Entry<nEvents; ++Entry) 
{ 
   nBytes = t->GetEntry(Entry); 
   EventSize = LandPoints->GetEntries(); 
 
   for (Int_t k = 0; k<EventSize; ++k) 
   { 
       Single_LandPoint = (R3BLandPoint*) LandPoints->At(k); 
       light = Single_LandPoint->GetLightYield(); 
       h_new->Fill("light"0; 
   } 
} 
h_new->Draw(); 
 
But the two pieces of code do not give the same histogram. (I did play with the boundaries and bin-size of the histogram, this did not solve the problem). 
The histogram h_new contains far less entries. Is there anyone who can help me? 
 
Christiaan Douma. 
PhD student at KVI-CART 
University of Groningen, Netherlands 
Supervisor: prof. dr. N. Kalantar 
		
		
		
 |  
	| 
		
	 | 
 
 
 | 
	| 
		
 | 
	| 
		
 |