void treeviewer() { //=========Macro generated by ROOT version3.00/00 //=========for tree "copac" (Fri Mar 23 10:00:42 2001) //===This macro can be opened from a TreeViewer session after loading //===the corresponding tree, or by running root with the macro name argument open_session(); } open_session(void *p = 0) { gSystem->Load("libTreeViewer"); TTreeViewer *treeview = (TTreeViewer *) p; if (!treeview) treeview = new TTreeViewer(); TTree *tv_tree = (TTree*)gROOT->FindObject("copac"); TFile *tv_file = (TFile*)gROOT->GetListOfFiles()->FindObject("hijing1.root"); if (!tv_tree) { if (!tv_file) tv_file = new TFile("hijing1.root"); if (tv_file) tv_tree = (TTree*)tv_file->Get("copac"); if(!tv_tree) { printf("Tree %s not found", fTree->GetName()); return; } } treeview->SetTreeName("copac"); treeview->SetNexpressions(10); // Set expressions on axis and cut TTVLVEntry *item; // X expression item = treeview->ExpressionItem(0); item->SetExpression("-log(tan(0.5*acos(fTracks.fPz/sqrt(fTracks.fPx*fTracks.fPx+fTracks.fPy*fTracks.fPy+fTracks.fPz*fTracks.fPz))))", "~eta"); // Y expression item = treeview->ExpressionItem(1); item->SetExpression("", "-empty-"); // Z expression item = treeview->ExpressionItem(2); item->SetExpression("", "-empty-"); // Cut expression item = treeview->ExpressionItem(3); item->SetExpression("fTracks.fId==2112", "~neutroni"); // Scan list item = treeview->ExpressionItem(4); item->SetExpression("", "Scan box"); // User defined expressions item = treeview->ExpressionItem(5); item->SetExpression("-log(tan(0.5*acos(fTracks.fPz/sqrt(fTracks.fPx*fTracks.fPx+fTracks.fPy*fTracks.fPy+fTracks.fPz*fTracks.fPz))))", "~eta", kFALSE); item = treeview->ExpressionItem(6); item->SetExpression("fTracks.fId==2212", "~proton", kTRUE); item = treeview->ExpressionItem(7); item->SetExpression("0.5*log((fTracks.fE+fTracks.fPz)/(fTracks.fE-fTracks.fPz))", "~rap", kFALSE); item = treeview->ExpressionItem(8); item->SetExpression("fTracks.fId==2112", "~neutroni", kTRUE); item = treeview->ExpressionItem(9); item->SetExpression("", "-empty-", kFALSE); item = treeview->ExpressionItem(10); item->SetExpression("", "-empty-", kFALSE); item = treeview->ExpressionItem(11); item->SetExpression("", "-empty-", kFALSE); item = treeview->ExpressionItem(12); item->SetExpression("", "-empty-", kFALSE); item = treeview->ExpressionItem(13); item->SetExpression("", "-empty-", kFALSE); item = treeview->ExpressionItem(14); item->SetExpression("", "-empty-", kFALSE); //--- session object tv_session = new TTVSession(treeview); treeview->SetSession(tv_session); //--- tree viewer record tv_record = tv_session->AddRecord(kTRUE); tv_session->SetRecordName("rapiditate protoni"); tv_record->fX = "0.5*log((fTracks.fE+fTracks.fPz)/(fTracks.fE-fTracks.fPz))"; tv_record->fY = ""; tv_record->fZ = ""; tv_record->fCut = "fTracks.fId==2212"; tv_record->fXAlias = "~rap"; tv_record->fYAlias = "-empty-"; tv_record->fZAlias = "-empty-"; tv_record->fCutAlias = "~proton"; tv_record->fOption = ""; tv_record->fScanRedirected = kFALSE; tv_record->fCutEnabled = kTRUE; //--- tree viewer record tv_record = tv_session->AddRecord(kTRUE); tv_session->SetRecordName("rapiditate neutroni"); tv_record->fX = "0.5*log((fTracks.fE+fTracks.fPz)/(fTracks.fE-fTracks.fPz))"; tv_record->fY = ""; tv_record->fZ = ""; tv_record->fCut = "fTracks.fId==2112"; tv_record->fXAlias = "~rap"; tv_record->fYAlias = "-empty-"; tv_record->fZAlias = "-empty-"; tv_record->fCutAlias = "~neutroni"; tv_record->fOption = ""; tv_record->fScanRedirected = kFALSE; tv_record->fCutEnabled = kTRUE; //--- tree viewer record tv_record = tv_session->AddRecord(kTRUE); tv_session->SetRecordName("pseudorapiditate neutroni"); tv_record->fX = "-log(tan(0.5*acos(fTracks.fPz/sqrt(fTracks.fPx*fTracks.fPx+fTracks.fPy*fTracks.fPy+fTracks.fPz*fTracks.fPz))))"; tv_record->fY = ""; tv_record->fZ = ""; tv_record->fCut = "fTracks.fId==2112"; tv_record->fXAlias = "~eta"; tv_record->fYAlias = "-empty-"; tv_record->fZAlias = "-empty-"; tv_record->fCutAlias = "~neutroni"; tv_record->fOption = ""; tv_record->fScanRedirected = kFALSE; tv_record->fCutEnabled = kTRUE; //--- Show first record tv_session->Show(tv_session->First()); }