FairRoot/PandaRoot
runPULL2.C
Go to the documentation of this file.
1 {
2  gROOT->Reset();
3  gStyle->SetOptFit(1);
4 
5 
6  gROOT->LoadMacro("$VMCWORKDIR/gconfig/basiclibs.C");
7  basiclibs();
8 
9  // Load this example libraries
10  gSystem->Load("libGeoBase");
11  gSystem->Load("libParBase");
12  gSystem->Load("libBase");
13  gSystem->Load("libField");
14  gSystem->Load("libPndData");
15  gSystem->Load("libGeane");
16  gSystem->Load("libPlane");
17  gSystem->Load("libGeaneEx");
18  gSystem->Load("libTrkBase");
19 
20  TFile *f=new TFile("ex2g.root");
21  TTree *simtree=f->Get("pndsim") ;
22 
23  fTrackParGeane = new TClonesArray("FairTrackParP");
24  fTrackParIni = new TClonesArray("FairTrackParP");
25  fTrackParFinal = new TClonesArray("FairTrackParP");
26 
27  TH1F *h1=new TH1F("h1","V ",100,-10.,10.);
28  TH1F *h2=new TH1F("h2","W",100,-10,10);
29  TH1F *h3=new TH1F("h3","TV",100,-10,10);
30  TH1F *h4=new TH1F("h4","TW",100,-10,10);
31  TH1F *h5=new TH1F("h5","Qp",100,-10,10);
32  TH1F *h6=new TH1F("h6","Y",100, -10,10);
33  TH1F *h7=new TH1F("h7","Z",100,-10,10);
34  TH1F *h8=new TH1F("h8","Px",100,-10,10);
35  TH1F *h9=new TH1F("h9","Py",100,-10,10);
36  TH1F *h10=new TH1F("h10","Pz",100,-10,10);
37 
38  simtree->SetBranchAddress("GeaneTrackFinal",&fTrackParFinal);
39  simtree->SetBranchAddress("GeaneTrackPar",&fTrackParGeane);
40  FairTrackParP *fTrkF ;
41  FairTrackParP *fTrkG;
42 
43  Int_t Nevents= simtree->GetEntriesFast();
44  for(Int_t i=0; i<Nevents; i++){
45  fTrackParGeane->Delete();
46  fTrackParFinal->Delete();
47  simtree->GetEntry(i);
48  for (Int_t k=0; k<fTrackParGeane->GetEntriesFast(); k++) {
49  fTrkF = (FairTrackParP *)fTrackParFinal->At(k);
50  fTrkG = (FairTrackParP *)fTrackParGeane->At(k);
51  if(!fTrkF || !fTrkG) continue;
52  if(fTrkF &&fTrkG ){
53  if(fTrkG->GetDV()) h1->Fill((fTrkF->GetV() - fTrkG->GetV())/fTrkG->GetDV());
54  if(fTrkG->GetDW()) h2->Fill((fTrkF->GetW() - fTrkG->GetW())/fTrkG->GetDW());
55  if(fTrkG->GetDTV()) h3->Fill((fTrkF->GetTV() - fTrkG->GetTV())/fTrkG->GetDTV());
56  if(fTrkG->GetDTW()) h4->Fill((fTrkF->GetTW() - fTrkG->GetTW())/fTrkG->GetDTW());
57  if(fTrkG->GetDQp())h5->Fill((fTrkF->GetQp() - fTrkG->GetQp()) /fTrkG->GetDQp());
58  if(fTrkG->GetDY()) h6->Fill((fTrkF->GetY() - fTrkG->GetY()) /fTrkG->GetDY());
59  if(fTrkG->GetDZ()) h7->Fill((fTrkF->GetZ() - fTrkG->GetZ()) /fTrkG->GetDZ());
60  if(fTrkG->GetDPx()) h8->Fill((fTrkF->GetPx() - fTrkG->GetPx())/fTrkG->GetDPx());
61  if(fTrkG->GetDPy()) h9->Fill((fTrkF->GetPy() - fTrkG->GetPy())/fTrkG->GetDPy());
62  if(fTrkG->GetDPz()) h10->Fill((fTrkF->GetPz()- fTrkG->GetPz())/fTrkG->GetDPz());
63  }
64  }
65  }
66  TCanvas *c=new TCanvas("c","c",900,600);
67  c->Divide(5,2);
68  c->cd(1);
69  h1->Draw();
70  h1-> Fit("gaus");
71  c->cd(2);
72  h2->Draw();
73  h2-> Fit("gaus");
74  c->cd(3);
75  h3->Draw();
76  h3-> Fit("gaus");
77  c->cd(4);
78  h4->Draw();
79  h4-> Fit("gaus");
80  c->cd(5);
81  h5->Draw();
82  h5-> Fit("gaus");
83  c->cd(6);
84  h6->Draw();
85  h6-> Fit("gaus");
86  c->cd(7);
87  h7->Draw();
88  h7-> Fit("gaus");
89  c->cd(8);
90  h8->Draw();
91  h8-> Fit("gaus");
92  c->cd(9);
93  h9->Draw();
94  h9-> Fit("gaus");
95  c->cd(10);
96  h10->Draw();
97  h10-> Fit("gaus");
98 
99 
100  c->cd();
101 
102 }
cout<<"the track theta is "<< trackthe<< endl;mc_x[j]=vecmc.X();mc_y[j]=vecmc.Y();mc_z[j]=vecmc.Z()-1110;r_mc[j]=TMath::Sqrt(mc_x[j]*mc_x[j]+mc_y[j]*mc_y[j]);std::cout<<"the r_mc[j] is "<< r_mc[j]<< std::endl;std::cout<<"the mc_z[j] is "<< mc_z[j]<< std::endl;r_mc_err[j]=0;z_mc_err[j]=0;rc_x[j]=vecrc.X();rc_y[j]=vecrc.Y();rc_z[j]=vecrc.Z()-1110;r_rc[j]=TMath::Sqrt(rc_x[j]*rc_x[j]+rc_y[j]*rc_y[j]);std::cout<<"the r_rc[j] is "<< r_rc[j]<< std::endl;std::cout<<"the rc_z[j] is "<< rc_z[j]<< std::endl;r_rc_err[j]=0;z_rc_err[j]=0;double tempmc=TMath::Sqrt(mc_x[0]*mc_x[0]+mc_y[0]*mc_y[0]);mcfirstthe=TMath::ATan(tempmc/(mc_z[0]+1110));cout<<"the first hit theta is "<< mcfirstthe<< endl;}TGraphErrors *mctrack=new TGraphErrors(4, mc_z, r_mc, z_mc_err, r_mc_err);mctrack-> Fit("trackFit","ONF")
TH1F * h9
Definition: runPULL1.C:35
basiclibs()
TTree * simtree
Definition: runPULL1.C:21
Int_t i
Definition: run_full.C:25
FairTrackParH * fTrkF
Definition: runPULL1.C:40
TH1F * h4
TH1F * h8
Definition: runPULL1.C:34
fTrackParFinal
Definition: runPULL1.C:25
TH2F * h5
Definition: draw_bands.C:19
FairTrackParH * fTrkG
Definition: runPULL1.C:41
TFile * f
Definition: bump_analys.C:12
TH1F * h3
fTrackParGeane
Definition: runPULL1.C:23
TH1F * h7
Definition: runPULL1.C:33
TH1F * h6
Definition: runPULL1.C:32
Int_t Nevents
Definition: runPULL1.C:42
fTrackParIni
Definition: runPULL1.C:24