FairRoot/PandaRoot
plot_dirc.C
Go to the documentation of this file.
1 {
2 gROOT->Reset();
3 
4 TFile f("./testrun.root");
5 f.ls();
6 f.cd();
7 
8 
9 
10 
11 
12 TTree* tree = (TTree*)gDirectory->Get("pndsim");
13 
14 Double_t mom = "TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)";
15 Double_t energy = "TMath::Sqrt(mom*mom + fmass*fmass)";
16 Double_t thetaC = "TMath::ACos(1/(1.47*(mom/energy)))";
17 
18 TCut pions = "fPdgCode==-211 || fPdgCode == 211";
19 TCut protons = "fPdgCode==2212 || fPdgCode == -2212";
20 TCut muons = "fPdgCode==13 || fPdgCode == -13";
21 TCut electrons = "fPdgCode==11 || fPdgCode == -11";
22 
23 
24 TCut ppos = "TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)>0.";
25 TCut pinf = "TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)<2.7";
26 TCut lenti = "TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)<1.";
27 //TCut lenti = "TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)<1.";
28 
29 
30 tree->SetMarkerSize(.3);
31 tree->SetMarkerStyle(20);
32 
33 tree->SetMarkerColor(2);
34 
35 c1 = new TCanvas("dE/dx vs momentum - Drc barrel");
36 tree->Draw("fELoss:TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)", ppos && "fELoss < 0.04");
37 
38 
39 c2 = new TCanvas("X vs Y vs Z - Drc barrel");
40 tree->SetMarkerColor(2);
41 tree->Draw("fX_out:fY_out:fZ_out", ppos && pions);
42 
43 tree->SetMarkerColor(3);
44 tree->Draw("fX_out:fY_out:fZ_out", ppos && protons , "same");
45 
46 tree->SetMarkerColor(4);
47 tree->Draw("fX_out:fY_out:fZ_out", ppos && electrons , "same");
48 
49 
50 c3 = new TCanvas("momentum");
51 c3->Divide(2, 2);
52 
53 c3->cd(1);
54 tree->SetMarkerColor(2);
55 tree->Draw("TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)", pions && ppos && pinf); // pions
56 
57 c3->cd(2);
58 tree->SetMarkerColor(3);
59 tree->Draw("TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)", muons && ppos && pinf); // muons
60 
61 c3->cd(3);
62 tree->SetMarkerColor(4);
63 tree->Draw("TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)", electrons && ppos && pinf); // electrons
64 
65 c3->cd(4);
66 tree->SetMarkerColor(5);
67 tree->Draw("TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)", protons && ppos && pinf); // protons
68 
69 
70 
71 c4 = new TCanvas("Eloss - Drc barrel");
72 tree->Draw("fELoss", ppos && pinf && "fELoss < 0.04" && "fELoss > 0.005" );
73 
74 
75 c5 = new TCanvas("ThetaC vs momentum - Drc barrel");
76 tree->SetMarkerColor(2);
77 tree->Draw("TMath::ACos(1/(1.47*(TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)/TMath::Sqrt((fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out) + fmass*fmass)))):TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)", ppos && pions && "fELoss < 0.04"); //pions
78 
79 tree->SetMarkerColor(3);
80 tree->Draw("TMath::ACos(1/(1.47*(TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)/TMath::Sqrt((fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out) + fmass*fmass)))):TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)", electrons && ppos &&"fELoss < 0.04", "same"); //electrons
81 
82 tree->SetMarkerColor(1);
83 tree->Draw("TMath::ACos(1/(1.47*(TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)/TMath::Sqrt((fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out) + fmass*fmass)))):TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)", muons && ppos &&"fELoss < 0.04", "same"); //muons
84 
85 tree->SetMarkerColor(4);
86 tree->Draw("TMath::ACos(1/(1.47*(TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)/TMath::Sqrt((fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out) + fmass*fmass)))):TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)", protons && ppos &&"fELoss < 0.04", "same"); //protons
87 
88 /*
89 // treat PDGCode
90 TH1F *h1 = new TH1F("h1","pdg",90000000, -10000000, 80000000);
91 
92 c6 = new TCanvas("PDG Code - Drc barrel");
93 tree->Draw("fPdgCode>>h1");
94 Int_t n;
95 Int_t b;
96 for(Int_t i = 0; i < 90000000; i=i+1){
97 
98  if (h1->GetBinContent(i)!=0)
99  {
100  n = h1->GetBinContent(i);
101  b = i -10000001;
102  cout << "PDGId = " << b << "-> entries:" << n << endl;
103  }
104 }
105 */
106 }
107 
c5
Definition: plot_dirc.C:75
c4
Definition: plot_dirc.C:71
TTree * tree
Definition: plot_dirc.C:12
c2
Definition: plot_dirc.C:39
Double_t mom
Definition: plot_dirc.C:14
TCut pions
Definition: plot_dirc.C:18
TCut lenti
Definition: plot_dirc.C:26
TCut ppos
Definition: plot_dirc.C:24
TCut pinf
Definition: plot_dirc.C:25
Double_t
TFile * f
Definition: bump_analys.C:12
c1
Definition: plot_dirc.C:35
c3
Definition: plot_dirc.C:50
TCut muons
Definition: plot_dirc.C:20
TCut protons
Definition: plot_dirc.C:19
Double_t thetaC
Definition: plot_dirc.C:16
TCut electrons
Definition: plot_dirc.C:21
Double_t energy
Definition: plot_dirc.C:15