{ // init macro gROOT->Reset(); if(!TClassTable::GetDict("hiscaleSimEventTree")) { gSystem->Load("../libs/libhiscaleSimEventTree.so"); } // read the tree file generated in GEANT4 TFile* treeFile = new TFile("sphericalLEFS60.root"); //treeFile->ls(); TTree *myTree = (TTree*)treeFile->Get("hiscaleSim"); myTree->Print(); myTree->SetCacheSize(100000000); // Create pointer to an event object for reading the branch values. hiscaleSimEventTree* myEvent = new hiscaleSimEventTree(); // Get the branches and their addresses TBranch* bEvent = myTree->GetBranch("EventBranch"); bEvent->SetAddress(&myEvent); TBranch* bfSourceEnergy = myTree->GetBranch("fSourceEnergy"); // TBranch *branch = myTree->GetBranch("EventBranch"); branch->SetAddress(&myEvent); Int_t nEvents = myTree->GetEntries(); cout << nEvents << endl; /* TBranch *eventBranch = myTree->GetBranch("EventBranch"); static Float_t totalDepositedEnergy; TBranch *bTotalDepositedEnergyBranch = eventBranch->FindBranch("fTotalDepositedEnergy"); bTotalDepositedEnergyBranch->SetAddress(&totalDepositedEnergy);*/ //UInt_t nEntriesDepositedEnergy = (UInt_t)bTotalDepositedEnergyBranch->GetEntries(); for (UInt_t i=0; iGetEntry(i); if (totalDepositedEnergy!=0) cout << totalDepositedEnergy << endl;*/ } //totalDepositedEnergyBranch->Print(); //UInt_t totalHitsFl = (UInt_t)totalDepositedEnergyBranch->GetRow(1); //cout << "Number of Entries = " << nentries << endl; //cout << "Number of Hits in F' = " << nEntriesDepositedEnergyv << endl; TCanvas *myCanvasEnergy = new TCanvas(); myCanvasEnergy->Divide(2, 2); myCanvasEnergy->SetTitle("Energy Analysis"); myCanvasEnergy->cd(1); myTree->Draw("fSourceEnergy >> myHistoSourceEnergy(100)"); myHistoSourceEnergy->SetStats(kFALSE); myHistoSourceEnergy->SetTitle("Source Beam;Electron Beam Energy (keV);Number of Particles"); myHistoSourceEnergy->SetFillColor(9); myHistoSourceEnergy->SetFillStyle(3004); myHistoSourceEnergy->GetXaxis()->SetRangeUser(0, 400); myHistoSourceEnergy->GetYaxis()->SetRangeUser(0, 45000); myCanvasEnergy->cd(2); myTree->Draw("fTotalDepositedEnergy[1] >> myHistoHitsInFl(100)","fSourceEnergy!=0 && fTotalDepositedEnergy[1]!=0"); myHistoHitsInFl->SetStats(kFALSE); myHistoHitsInFl->SetTitle("Hits in F';Deposited Energy in F' (keV);Number of Hits"); myHistoHitsInFl->SetFillColor(50); myHistoHitsInFl->SetFillStyle(3005); myHistoHitsInFl->GetXaxis()->SetRangeUser(0, 400); myHistoHitsInFl->GetYaxis()->SetRangeUser(0, 45000); myCanvasEnergy->cd(3); myTree->Draw("fSourceEnergy >> myHistoEnergyDiferenceSource(100)"); myHistoEnergyDiferenceSource->SetStats(kFALSE); myHistoEnergyDiferenceSource->SetTitle("Comparison of Emited and Detected Energies;Energy (keV);Number of Particles"); myHistoEnergyDiferenceSource->SetFillColor(9); myHistoEnergyDiferenceSource->SetFillStyle(3004); myHistoEnergyDiferenceSource->GetXaxis()->SetRangeUser(0, 400); myHistoEnergyDiferenceSource->GetYaxis()->SetRangeUser(0, 45000); gPad->Update(); myTree->Draw("fTotalDepositedEnergy[1] >>+ myHistoHitsInFlDiference(100)","fTotalDepositedEnergy[1]!=0", "same"); myHistoHitsInFlDiference->SetStats(kFALSE); myHistoHitsInFlDiference->SetFillColor(50); myHistoHitsInFlDiference->SetFillStyle(3005); myCanvasEnergy->cd(4); myTree->Draw("fSourceEnergy >> myHistoEnergyDiferenceSource10(100)"); myHistoEnergyDiferenceSource10->SetStats(kFALSE); myHistoEnergyDiferenceSource10->SetTitle("Comparison of Emited and Detected Energies + 10 keV;Energy (keV);Number of Particles"); myHistoEnergyDiferenceSource10->SetFillColor(9); myHistoEnergyDiferenceSource10->SetFillStyle(3004); myHistoEnergyDiferenceSource10->GetXaxis()->SetRangeUser(0, 400); myHistoEnergyDiferenceSource10->GetYaxis()->SetRangeUser(0, 45000); gPad->Update(); myTree->Draw("fTotalDepositedEnergy[1] + 10 >> myHistoHitsInFlDiference10(100)","fTotalDepositedEnergy[1]!=0", "same"); myHistoHitsInFlDiference10->SetStats(kFALSE); myHistoHitsInFlDiference10->SetFillColor(50); myHistoHitsInFlDiference10->SetFillStyle(3005); }