FairRoot/PandaRoot
checkmomentum.C
Go to the documentation of this file.
1 {
2 
3  gROOT->Reset();
4  TStopwatch timer;
5  timer.Start();
6  gROOT->LoadMacro("$VMCWORKDIR/gconfig/rootlogon.C");
7  rootlogon();
8  gSystem->Load("libSttMvdTracking");
9 
10  TFile filereco("MvdStt_Test_reco.root");
11  TTree *treereco = (TTree*) filereco.Get("pndsim");
12  TClonesArray *prefit = new TClonesArray("PndTrack");
13  treereco->SetBranchAddress("SttMvdTrack",&prefit);
14  TClonesArray *kalfit = new TClonesArray("PndTrack");
15  treereco->SetBranchAddress("SttMvdKalmanTrack",&kalfit);
16 
17  TH1F *hkalmom = new TH1F("hkalmom", "genfit", 100, 0.5, 1.5);
18  TH1F *hpremom = new TH1F("hpremom", "prefit", 100, 0.5, 1.5);
19 
20  for(int evt = 0; evt < treereco->GetEntriesFast(); evt++)
21  {
22  treereco->GetEntry(evt);
23  if(evt%100 == 0) cout << "EVT " << evt << endl;
24 
25  for(int ikal = 0; ikal < kalfit->GetEntriesFast(); ikal++)
26  {
27  PndTrack* kaltrk = (PndTrack*) kalfit->At(ikal);
28  if(!kaltrk) continue;
29 
30  Int_t refIndex = kaltrk->GetRefIndex();
31  if(refIndex == -1) continue;
32  PndTrack *pretrk = (PndTrack*) prefit->At(refIndex);
33  if(!pretrk) continue;
34 
35  if(kaltrk->GetFlag() < 0) continue;
36 
37  // FILL histos only when both kalman track
38  // and prefit track are present and kalman
39  // flag is not negative
40  TVector3 kalmom = kaltrk->GetParamFirst().GetMomentum();
41  hkalmom->Fill(kalmom.Mag());
42  TVector3 premom = pretrk->GetParamFirst().GetMomentum();
43  hpremom->Fill(premom.Mag());
44  }
45  }
46 
47  hkalmom->SetLineColor(4); // blue
48  hpremom->SetLineColor(2); // red
49 
50  hkalmom->Draw();
51  hpremom->Draw("SAME");
52 
53 }
TFile filereco("MvdStt_Test_reco.root")
Int_t GetFlag() const
Definition: PndTrack.h:33
int evt
Definition: checkhelixhit.C:36
Int_t refIndex
Definition: checkmomentum.C:30
TTree * treereco
TStopwatch timer
Definition: hit_dirc.C:51
TClonesArray * kalfit
Definition: checkmomentum.C:14
TClonesArray * prefit
Definition: checkmomentum.C:12
TH1F * hkalmom
Definition: checkmomentum.C:17
Int_t GetRefIndex() const
Definition: PndTrack.h:36
TH1F * hpremom
Definition: checkmomentum.C:18
FairTrackParP GetParamFirst()
Definition: PndTrack.h:49