FairRoot/PandaRoot
plot_momentum.C
Go to the documentation of this file.
1 {
2  gStyle->SetOptTitle(0);
3  gStyle->SetFillColor(0);
4  gStyle->SetTitleOffset(.85,"X");gStyle->SetTitleOffset(.85,"Y");
5  gStyle->SetTitleSize(.05,"X");gStyle->SetTitleSize(.05,"Y");
6  gStyle->SetLabelSize(.05,"X");gStyle->SetLabelSize(.05,"Y");
7  gStyle->SetHistFillColor(0);
8  gStyle->SetHistLineWidth(2);
9  gStyle->SetOptFit(1);
10  TFile *inFile = TFile::Open("pid_sttcombi.root");
11  TTree *tree=(TTree *) inFile->Get("pndsim") ;
12  simtree->AddFriend("pndsim","points_sttcombi.root");
13 
14  TCanvas* c1 = new TCanvas("Charged Candidate", "Charged Candidate", 100, 100, 1200, 800);
15  TCanvas* c2 = new TCanvas("Neutral Candidate", "Neutral Candidate", 100, 100, 1200, 800);
16 
17  c1.Divide(2,2);
18  c1->cd(1);
19  TH1F *charg_mom = new TH1F("charg_mom","charg_mom",100,-0.2,0.2);
20  charg_mom->GetXaxis()->SetTitle("(P_{MC} - P_{track}) / P_{MC}");
21  simtree->Draw("(MCTrack.GetMomentum().Mag()[PidChargedCand.GetMcIndex()]-PidChargedCand.GetMomentum().Mag())/MCTrack.GetMomentum().Mag()[PidChargedCand.GetMcIndex()]>>charg_mom","PidChargedCand.GetMcIndex()!=-1","");
22  charg_mom->Fit("gaus");
23 
24  c1.cd(2);
25  TH1F *charg_theta = new TH1F("charg_theta","charg_theta",100,-1,1);
26  charg_theta->GetXaxis()->SetTitle("#theta_{MC} - #theta_{track} [degrees]");
27  simtree->Draw("5.72957795130823229e+01*(MCTrack.GetMomentum().Theta()[PidChargedCand.GetMcIndex()]-PidChargedCand.GetMomentum().Theta())>>charg_theta","PidChargedCand.GetMcIndex()!=-1","");
28  charg_theta->Fit("gaus");
29 
30  c1.cd(3);
31  TH1F *charg_phi = new TH1F("charg_phi","charg_phi",100,-1,1);
32  charg_phi->GetXaxis()->SetTitle("#phi_{MC} - #phi_{track} [degrees]");
33  simtree->Draw("5.72957795130823229e+01*(MCTrack.GetMomentum().Phi()[PidChargedCand.GetMcIndex()]-PidChargedCand.GetMomentum().Phi())>>charg_phi","PidChargedCand.GetMcIndex()!=-1","");
34  charg_phi->Fit("gaus");
35  c1.cd(4);
36  simtree->Draw("MCTrack.GetPdgCode()[PidChargedCand.GetMcIndex()]","PidChargedCand.GetMcIndex()!=-1");
37 
38  c2.Divide(2,2);
39  c2->cd(1);
40  TH1F *neu_mom = new TH1F("neu_mom","neu_mom",100,-2,2);
41  neu_mom->GetXaxis()->SetTitle("(P_{MC} - P_{track}) / P_{MC}");
42  simtree->Draw("(MCTrack.GetMomentum().Mag()[PidNeutralCand.GetMcIndex()]-PidNeutralCand.GetMomentum().Mag())/MCTrack.GetMomentum().Mag()[PidNeutralCand.GetMcIndex()]>>neu_mom","PidNeutralCand.GetMcIndex()!=-1","");
43  neu_mom->Fit("gaus");
44 
45  c2.cd(2);
46  TH1F *neu_theta = new TH1F("neu_theta","neu_theta",100,-20,20);
47  neu_theta->GetXaxis()->SetTitle("#theta_{MC} - #theta_{track} [degrees]");
48  simtree->Draw("5.72957795130823229e+01*(MCTrack.GetMomentum().Theta()[PidNeutralCand.GetMcIndex()]-PidNeutralCand.GetMomentum().Theta())>>neu_theta","PidNeutralCand.GetMcIndex()!=-1","");
49  neu_theta->Fit("gaus");
50 
51  c2.cd(3);
52  TH1F *neu_phi = new TH1F("neu_phi","neu_phi",100,-20,20);
53  neu_phi->GetXaxis()->SetTitle("#phi_{MC} - #phi_{track} [degrees]");
54  simtree->Draw("5.72957795130823229e+01*(MCTrack.GetMomentum().Phi()[PidNeutralCand.GetMcIndex()]-PidNeutralCand.GetMomentum().Phi())>>neu_phi","PidNeutralCand.GetMcIndex()!=-1","");
55  neu_phi->Fit("gaus");
56  c2.cd(4);
57  simtree->Draw("MCTrack.GetPdgCode()[PidNeutralCand.GetMcIndex()]","PidNeutralCand.GetMcIndex()!=-1");
58 
59 
60 
61 }
TTree * simtree
Definition: runPULL1.C:21
TTree * tree
Definition: plot_dirc.C:12
c2
Definition: plot_dirc.C:39
TH1F * charg_mom
Definition: plot_momentum.C:19
TString inFile
Definition: hit_dirc.C:8
c1
Definition: plot_dirc.C:35