3         TFile* 
f = 
new TFile(
"cluster_emc.root"); 
 
    4         TTree *
t=(TTree *) f->Get(
"pndsim") ;
 
    6         t->SetBranchAddress(
"EmcCluster",&cluster_array);
 
    8         t->AddFriend(
"pndsim", 
"digi_emc.root");
 
    9         TClonesArray* 
digi_array=
new TClonesArray(
"PndEmcDigi");
 
   10         t->SetBranchAddress(
"EmcDigi",&digi_array);
 
   12         TFile* 
fsim = 
new TFile(
"sim_emc.root"); 
 
   13         TTree *
tsim=(TTree *) fsim->Get(
"pndsim") ;
 
   18         tsim->SetBranchAddress(
"MCTrack",&mctrack_array);
 
   29         TH1F *
h1= 
new TH1F(
"h1",
"Theta difference",200,-5.,5.);
 
   30         TH1F *
h2= 
new TH1F(
"h2",
"Phi difference",200,-5.,5.);
 
   31         TH1F *
h3= 
new TH1F(
"h3",
"Cluster energy",100,0.85,1.05);
 
   32         TH2F *
h2theta= 
new TH2F(
"h2theta",
"Theta difference",200,0.,180.,200,-5.,5.);
 
   33         TH2F *
h2phi= 
new TH2F(
"h2phi",
"Phi difference",200,0.,180.,200,-5.,5.);
 
   34         TH1F *
hE1= 
new TH1F(
"hE1",
"E1",200,0.,1.05);
 
   35         TH1F *
hE1E9= 
new TH1F(
"hE1E9",
"E1 / E9",200,0.,1.05);
 
   36         TH1F *
hE9E25= 
new TH1F(
"hE9E25",
"E9 / E25",200,0.,1.05);
 
   42         for (Int_t j=0; j< t->GetEntriesFast(); j++)
 
   45                 for (Int_t 
i=0; 
i<cluster_array->GetEntriesFast(); 
i++)
 
   48                         cluster_energy=cluster->
energy();
 
   50                                 h3->Fill(cluster_energy);
 
   53                         hE1E9->Fill(esum.
E1E9());
 
   54                         hE9E25->Fill(esum.
E9E25());
 
   59         for (Int_t j=0; j< t->GetEntriesFast(); j++)
 
   66                 theta=photon_momentum.Theta();
 
   67                 phi=photon_momentum.Phi();
 
   76                 for (Int_t 
i=0; 
i<cluster_array->GetEntriesFast(); 
i++)
 
   79                         cluster_energy=cluster->
energy();
 
   80                         if (cluster_energy>max_energy)
 
   83                                 TVector3 cluster_pos=cluster->
where();
 
   84                                 cluster_theta=cluster_pos.Theta();
 
   85                                 cluster_phi=cluster_pos.Phi();
 
   94                         h2theta->Fill(theta*TMath::RadToDeg(),theta_diff);
 
   98                         h2phi->Fill(phi*TMath::RadToDeg(),phi_diff);
 
  103         TCanvas* 
c1 = 
new TCanvas(
"c1", 
"Cluster Energy", 100, 100, 800, 800);
 
  104         h3->SetTitle(
"Cluster energy of 1 GeV photon");
 
  105         h3->GetXaxis()->SetTitle(
"Energy, GeV");
 
  109         TCanvas* 
c2 = 
new TCanvas(
"c2", 
"#theta_{reco} - #theta_{truth}", 100, 100, 800, 800);
 
  110         h1->SetTitle(
"Difference between cluster and initial photon theta angle");
 
  111         h1->GetXaxis()->SetTitle(
"#theta_{reco} - #theta_{truth}, degree");
 
  123         TCanvas* 
c3 = 
new TCanvas(
"c3", 
"#phi_{reco} - #phi_{truth}", 100, 100, 800, 800);
 
  124         h2->SetTitle(
"Difference between cluster and initial photon phi angle");
 
  125         h2->GetXaxis()->SetTitle(
"#phi_{reco} - #phi_{truth}, degree");
 
  128         TCanvas* 
c4 = 
new TCanvas(
"c4", 
"#theta_{reco} - #theta_{truth} vs #theta_{truth}", 100, 100, 800, 800);
 
  129         h2theta->SetTitle(
"Difference between cluster and initial photon theta angle");
 
  130         h2theta->GetXaxis()->SetTitle(
"#theta_{truth}, degree");
 
  131         h2theta->GetYaxis()->SetTitle(
"#theta_{reco} - #theta_{truth}, degree");
 
  134         TCanvas* 
c5 = 
new TCanvas(
"c5", 
"#phi_{reco} - #phi_{truth} vs #phi_{truth}", 100, 100, 800, 800);
 
  135         h2phi->SetTitle(
"Difference between cluster and initial photon phi angle");
 
  136         h2phi->GetXaxis()->SetTitle(
"#phi_{truth}, degree");
 
  137         h2phi->GetYaxis()->SetTitle(
"#phi_{reco} - #phi_{truth}, degree");
 
  140         TCanvas* 
c6 = 
new TCanvas(
"c6", 
"Cluster Properties", 100, 100, 800, 800);
 
  142         c6->cd(1); hE1->Draw();
 
  143         c6->cd(2); hE1E9->Draw();
 
  144         c6->cd(3); hE9E25->Draw();
 
TVector3 GetMomentum() const 
TClonesArray * cluster_array
TClonesArray * digi_array
virtual Double_t E1() const 
TClonesArray * mctrack_array
static void Init(Int_t MapVersion)
a cluster (group of neighboring crystals) of hit emc crystals 
Int_t NumberOfDigis() const 
virtual Double_t E1E9() const 
virtual Double_t energy() const 
virtual Double_t E9E25() const