FairRoot/PandaRoot
VarCorrP.C
Go to the documentation of this file.
1 
2 
3 #include "TParticle.h"
4 int VarCorrP() {
5 
6  TFile *f = new TFile("carbon_onlyXi_2_5.root");
7  Double_t y=2.;
8  TTree *t;
9  t = (TTree*)f->Get("data");
10 
11  TClonesArray* fParticles = new TClonesArray("TParticle",100);
12  t->SetBranchAddress("Particles", &fParticles);
13  TH2F *source = new TH2F("source","source hist",500,0,180,500,0,3.);
14  //= new TH1F("sprojx","theta projection hist",500,0,180);
15 
16  for(int i=0;i<t->GetEntries();i++){
17 
18  t->GetEntry(i);
19 
20  for(int j=0;j<fParticles->GetEntriesFast();j++){
21 
22  TParticle* part = (TParticle*)fParticles->At(j);
23  // if(part->GetPdgCode()==3312)
24  //{
25 
26  source->Fill((part->Theta()*180)/3.1416,part->P());
27 
28  //}
29  }
30  }
31 
32  Double_t a;
33  Double_t b;
34 
35  TFile *out = TFile::Open("XiGengiBUUSamp_2.root","RECREATE");
36 
37  TH2F *final = new TH2F("final","final hist",500,0,180,500,0,2.);
38 // continued…
39 
40  // profile in X, theta dist
41 
42  Int_t bin_f, bin_l;
43  bin_f = source->GetYaxis()->FindBin(0.1);
44  bin_l = source->GetYaxis()->FindBin(3.);
45  TH1F *s_profX = (TH1F*)source->ProfileX("sprofx");
46  //more or less -->exponential <P>(theta)
47  //Constant 4.93964e-01
48  // Slope -1.41427e-02
49 
50  Int_t bin_fx, bin_lx;
51  bin_fx = source->GetYaxis()->FindBin(0.1);
52  bin_lx = source->GetYaxis()->FindBin(0.5);
53  TH1F *s_projX = (TH1F*)source->ProjectionX("sprojx");
54  //--> Landau, dsigma/dtheta dist
55  //Constant 1.03980e+03
56  //2 MPV 1.10093e+01
57  //Sigma 4.65284e+00
58 
59  s_projX->SetTitle("theta projection hist");
60 
61 
62  for (Int_t i=0;i<10000;i++) {
63  source->GetRandom2(b,a);
64  Double_t px=0.,py=0., pz=0.,p=0.,Th=0.,phi=0;
65 
66  // phi = gRandom->Uniform(0,360);// * TMath::DegToRad();
67 
68  // Double_t pz = p*TMath::Cos(theta* TMath::DegToRad());
69  // Double_t py = p*TMath::Sin(theta* TMath::DegToRad())*TMath::Sin(phi);
70  // Double_t px = p*TMath::Sin(theta* TMath::DegToRad())*TMath::Cos(phi);
71  final->Fill(b,a);
72  }
73  TCanvas *c1 = new TCanvas("c1","c1",400,300);
74  c1->Divide(2,1);
75  c1->cd(1);
76  //source->Draw("colz");
77  s_profX->Draw();
78  c1->cd(2);
79  final->Draw("colz");
80  c1->cd();
81  //creating a file container for TH2F source
82  out->cd();
83 
84 
85  source->Write();
86  out->Save();
87 
88  return 0;
89 }
Double_t p
Definition: anasim.C:58
Int_t i
Definition: run_full.C:25
TTree * b
int VarCorrP()
Definition: VarCorrP.C:4
Int_t fParticles
Definition: run_full.C:23
Int_t a
Definition: anaLmdDigi.C:126
Double_t
TFile * f
Definition: bump_analys.C:12
TFile * out
Definition: reco_muo.C:20
c1
Definition: plot_dirc.C:35
TTree * t
Definition: bump_analys.C:13
Double_t y
double pz[39]
Definition: pipisigmas.h:14