FairRoot/PandaRoot
Functions | Variables
TimeStructure.C File Reference
#include <map>
#include <vector>
#include <iomanip>
#include <iostream>

Go to the source code of this file.

Functions

void Init ()
 
int TimeStructure (Int_t sensorId=0, Bool_t allSensors=kFALSE)
 

Variables

Int_t gEntryNr = 0
 
TTree * t
 
TClonesArray * mvdUnsorted = new TClonesArray("PndSdsDigiTopix4")
 
TClonesArray * mvdSorted = new TClonesArray("PndSdsDigiTopix4")
 
TH1D * h1Unsorted
 
TH1D * h1Sorted
 
TH1D * h1UnsortedDL
 
TH1D * h1UnsortedTL
 
TH1D * h1SortedDL
 
TGraph * grTimeStampPos
 
std::vector< Double_tdataInStreamUnsorted
 

Function Documentation

void Init ( )

Initialize the session

Definition at line 26 of file TimeStructure.C.

References f, h1Sorted, h1Unsorted, h1UnsortedDL, h1UnsortedTL, mvdSorted, mvdUnsorted, and t.

27 {
28  TFile* f = new TFile("2014-10-27-00-06-02_50_MHz.root", "READ");
29  t = (TTree*)f->Get("pndsim");
30 // t->AddFriend("pndsim", "2014-10-27-00-06-02_50_MHz_Filtered_PosCorrected_Residuals.root");
31 // t->AddFriend("pndsim", "2014-10-27-00-06-02_50_MHz_Filtered_PosCorrected_Track.root");
32 // t->AddFriend("pndsim", "2014-10-27-00-06-02_50_MHz_Filtered_TimeCorrectedSorted_Event.root");
33 // t->StartViewer();
34  t->SetBranchAddress("ToPix4Hits", &mvdUnsorted);
35  t->SetBranchAddress("ToPix4HitsSorted", &mvdSorted);
36  h1Unsorted = new TH1D("h1Unsorted", "Unsorted", 200000, -100000, 100000);
37  h1Sorted = new TH1D("h1Sorted", "Sorted", 200000, -100000, 100000);
38  h1UnsortedDL = new TH1D("h1UnsortedDL", "UnsortedDL", 200000, -100000, 100000);
39  h1UnsortedTL = new TH1D("h1UnsortedTL", "UnsortedTL", 200000, -100000, 100000);
40 // t->SetBranchAddress("MvdTrack", &trackArray);
41 
42 
43 // mg->Add(gProjections, "Projected");
44  t->GetEntry(0);
45 }
TClonesArray * mvdUnsorted
Definition: TimeStructure.C:15
TH1D * h1UnsortedTL
Definition: TimeStructure.C:20
TClonesArray * mvdSorted
Definition: TimeStructure.C:16
TFile * f
Definition: bump_analys.C:12
TH1D * h1Unsorted
Definition: TimeStructure.C:17
TH1D * h1UnsortedDL
Definition: TimeStructure.C:19
TTree * t
Definition: bump_analys.C:13
TH1D * h1Sorted
Definition: TimeStructure.C:18
int TimeStructure ( Int_t  sensorId = 0,
Bool_t  allSensors = kFALSE 
)

Definition at line 48 of file TimeStructure.C.

References c1, dataInStreamUnsorted, PndSdsDigi::GetSensorID(), h1Sorted, h1Unsorted, h1UnsortedDL, h1UnsortedTL, i, Init(), mvdSorted, mvdUnsorted, out, and t.

49 {
50  Init();
51  int runIndexUnsorted = 0;
52  int runIndexSorted = 0;
53 
54  std::ofstream unsorted ("unsorted3.txt", std::ofstream::out);
55  std::ofstream sorted ("sorted3.txt", std::ofstream::out);
56  double oldTimeUnsorted = 0;
57  double oldTimeUnsortedDL = 0;
58  double oldTimeUnsortedTL = 0;
59  double oldTimeSorted = 0;
60 
61 // for (int i = 0; i < t->GetEntries(); i++){
62  double timeDiff = 0;
63  double timeDiffDL = 0;
64  double timeDiffTL = 0;
65 
66 // for (int i = 0; i < t->GetEntries(); i++){
67  for (int i = 333800; i < 344680; i++){
68  t->GetEntry(i);
69  for (int j = 0; j < mvdUnsorted->GetEntries(); j++){
70  PndSdsDigiTopix4* unsortedHit = (PndSdsDigiTopix4*)mvdUnsorted->At(j);
71  if (unsortedHit->GetSensorID() == sensorId || allSensors){
72  timeDiff = unsortedHit->GetTimeStamp() - oldTimeUnsorted;
73  timeDiffDL = unsortedHit->GetTimeStamp() - oldTimeUnsortedDL;
74  timeDiffTL = unsortedHit->GetTimeStamp() - oldTimeUnsortedTL;
75 
76  unsorted << runIndexUnsorted++ << " , " << unsortedHit->GetSensorID() << " , " << std::setprecision(15) << unsortedHit->GetTimeStamp() << " , " << timeDiff << std::endl;
77  h1Unsorted->Fill(timeDiff);
78  h1UnsortedDL->Fill(timeDiffDL);
79  h1UnsortedTL->Fill(timeDiffTL);
80  oldTimeUnsortedTL = oldTimeUnsortedDL;
81  oldTimeUnsortedDL = oldTimeUnsorted;
82  oldTimeUnsorted = unsortedHit->GetTimeStamp();
83  dataInStreamUnsorted.push_back(unsortedHit->GetTimeStamp());
84  }
85  }
86  for (int k = 0; k < mvdSorted->GetEntries(); k++){
87  PndSdsDigiTopix4* sortedHit = (PndSdsDigiTopix4*)mvdSorted->At(k);
88  if (sortedHit->GetSensorID() == sensorId || allSensors){
89  double timeDiffD = sortedHit->GetTimeStamp() - oldTimeSorted;
90  sorted << runIndexSorted++ << " , " << std::setprecision(15) << sortedHit->GetTimeStamp() << " , " << timeDiffD << std::endl;
91  h1Sorted->Fill(timeDiffD);
92  oldTimeSorted = sortedHit->GetTimeStamp();
93  }
94  }
95  if (i % 1000 == 0){
96  std::cout << i << std::endl;
97  }
98  }
99  unsorted.close();
100  sorted.close();
101 
102  TCanvas* c1 = new TCanvas();
103  c1->Divide(4,1);
104  c1->cd(1);
105  h1Unsorted->Draw();
106  c1->cd(2);
107  h1UnsortedDL->Draw();
108  c1->cd(3);
109  h1UnsortedTL->Draw();
110  c1->cd(4);
111  h1Sorted->Draw();
112  return 0;
113 }
std::vector< Double_t > dataInStreamUnsorted
Definition: TimeStructure.C:23
Int_t GetSensorID() const
Definition: PndSdsDigi.h:59
TClonesArray * mvdUnsorted
Definition: TimeStructure.C:15
Int_t i
Definition: run_full.C:25
Data class to store the digi output of a pixel module.
TH1D * h1UnsortedTL
Definition: TimeStructure.C:20
TClonesArray * mvdSorted
Definition: TimeStructure.C:16
TFile * out
Definition: reco_muo.C:20
c1
Definition: plot_dirc.C:35
TH1D * h1Unsorted
Definition: TimeStructure.C:17
TH1D * h1UnsortedDL
Definition: TimeStructure.C:19
fRun Init()
Definition: NHitsPerEvent.C:20
TTree * t
Definition: bump_analys.C:13
TH1D * h1Sorted
Definition: TimeStructure.C:18

Variable Documentation

std::vector<Double_t> dataInStreamUnsorted

Definition at line 23 of file TimeStructure.C.

Referenced by TimeStructure().

Int_t gEntryNr = 0

Definition at line 13 of file TimeStructure.C.

TGraph* grTimeStampPos

Definition at line 22 of file TimeStructure.C.

TH1D* h1Sorted

Definition at line 18 of file TimeStructure.C.

Referenced by Init(), and TimeStructure().

TH1D* h1SortedDL

Definition at line 21 of file TimeStructure.C.

TH1D* h1Unsorted

Definition at line 17 of file TimeStructure.C.

Referenced by Init(), and TimeStructure().

TH1D* h1UnsortedDL

Definition at line 19 of file TimeStructure.C.

Referenced by Init(), and TimeStructure().

TH1D* h1UnsortedTL

Definition at line 20 of file TimeStructure.C.

Referenced by Init(), and TimeStructure().

TClonesArray* mvdSorted = new TClonesArray("PndSdsDigiTopix4")

Definition at line 16 of file TimeStructure.C.

Referenced by Init(), and TimeStructure().

TClonesArray* mvdUnsorted = new TClonesArray("PndSdsDigiTopix4")

Definition at line 15 of file TimeStructure.C.

Referenced by Init(), and TimeStructure().

TTree* t

Definition at line 14 of file TimeStructure.C.