StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mudst.C
1 //usr/bin/env root4star -l -b -q $0'("'$1'")'; exit $?
2 
3 #include "TTree.h"
4 #include "TClonesArray.h"
5 
6 void mudst( TString df = "sim.MuDst.root" ){
7 
8  // setup and make sure libraries are loaded
9  gSystem->Load( "libStarRoot.so" );
10  gSystem->Load("libStarClassLibrary.so");
11  gROOT->SetMacroPath(".:/star-sw/StRoot/macros/:./StRoot/macros:./StRoot/macros/graphics:./StRoot/macros/analysis:./StRoot/macros/test:./StRoot/macros/examples:./StRoot/macros/html:./StRoot/macros/qa:./StRoot/macros/calib:./StRoot/macros/mudst:/afs/rhic.bnl.gov/star/packages/DEV/StRoot/macros:/afs/rhic.bnl.gov/star/packages/DEV/StRoot/macros/graphics:/afs/rhic.bnl.gov/star/packages/DEV/StRoot/macros/analysis:/afs/rhic.bnl.gov/star/packages/DEV/StRoot/macros/test:/afs/rhic.bnl.gov/star/packages/DEV/StRoot/macros/examples:/afs/rhic.bnl.gov/star/packages/DEV/StRoot/macros/html:/afs/rhic.bnl.gov/star/packages/DEV/StRoot/macros/qa:/afs/rhic.bnl.gov/star/packages/DEV/StRoot/macros/calib:/afs/rhic.bnl.gov/star/packages/DEV/StRoot/macros/mudst:/afs/rhic.bnl.gov/star/ROOT/36/5.34.38/.sl73_x8664_gcc485/rootdeb/macros:/afs/rhic.bnl.gov/star/ROOT/36/5.34.38/.sl73_x8664_gcc485/rootdeb/tutorials");
12  gROOT->LoadMacro("$STAR/StRoot/StMuDSTMaker/COMMON/macros/loadSharedLibraries.C");
13  loadSharedLibraries();
14 
15  gSystem->Load("libgenfit2.so");
16  gSystem->Load("libKiTrack.so");
17  gSystem->Load( "libStFwdTrackMaker.so" );
18 
19  // now open our data file
20  TFile *f = new TFile(df);
21  TTree *t = (TTree*)f->Get("MuDst");
22 
23  // create the readers for each branch
24  // TClonesArray *mcTracks = new TClonesArray("StMuMcTrack");
25  // t->GetBranch("mcTracks")->SetAutoDelete(kFALSE);
26  // t->SetBranchAddress("mcTracks",&mcTracks);
27 
28  // TClonesArray *fttPoints = new TClonesArray("StMuFttPoint");
29  // t->GetBranch("fttPoints")->SetAutoDelete(kFALSE);
30  // t->SetBranchAddress("fttPoints",&fttPoints);
31 
32  // TClonesArray *fttClusters = new TClonesArray("StMuFttCluster");
33  // t->GetBranch("fttClusters")->SetAutoDelete(kFALSE);
34  // t->SetBranchAddress("fttClusters",&fttClusters);
35 
36  // TClonesArray *fstPoints = new TClonesArray("StMuFstHit");
37  // t->GetBranch("fstHits")->SetAutoDelete(kFALSE);
38  // t->SetBranchAddress("fstHits",&fstPoints);
39 
40  // TClonesArray *wcal = new TClonesArray("FcsClusterWithStarXYZ");
41  // t->GetBranch("wcalClusters")->SetAutoDelete(kFALSE);
42  // t->SetBranchAddress("wcalClusters",&wcal);
43 
44  // TClonesArray *wcalHits = new TClonesArray("FcsHitWithStarXYZ");
45  // t->GetBranch("wcalHits")->SetAutoDelete(kFALSE);
46  // t->SetBranchAddress("wcalHits",&wcalHits);
47 
48  // TClonesArray *hcal = new TClonesArray("FcsClusterWithStarXYZ");
49  // t->GetBranch("hcalClusters")->SetAutoDelete(kFALSE);
50  // t->SetBranchAddress("hcalClusters",&hcal);
51 
52  // TClonesArray *hcalHits = new TClonesArray("FcsHitWithStarXYZ");
53  // t->GetBranch("hcalHits")->SetAutoDelete(kFALSE);
54  // t->SetBranchAddress("hcalHits",&hcalHits);
55 
56  // TClonesArray *epdHits = new TClonesArray("FcsHitWithStarXYZ");
57  // t->GetBranch("epdHits")->SetAutoDelete(kFALSE);
58  // t->SetBranchAddress("epdHits",&epdHits);
59 
60  TClonesArray *fwdTracks = new TClonesArray("StMuFwdTrack");
61  t->GetBranch("FwdTrack")->SetAutoDelete(kFALSE);
62  t->SetBranchAddress("FwdTrack",&fwdTracks);
63 
64  // TClonesArray *seeds = new TClonesArray("StMuFwdTrackSeedPoint");
65  // t->GetBranch("seeds")->SetAutoDelete(kFALSE);
66  // t->SetBranchAddress("seeds",&seeds);
67 
68 
69  //loop over the events
70  for ( int i = 0; i < t->GetEntries(); i++ ){
71  t->GetEntry(i);
72  for ( int j = 0; j < fwdTracks->GetEntries(); j++ ){
73  StMuFwdTrack *track = fwdTracks->At(j);
74  printf("Track %d: pt=%f, eta=%f, phi=%f\n", j, track->momentum().Pt(), track->momentum().Eta(), track->momentum().Phi());
75  }
76  }
77  cout << "Processed: " << t->GetEntries() << " entries" << endl;
78 }