11 std::stringstream cutstream;
12 cutstream <<
"data.fTimeBranch.channelId == " << channelNr;
13 TCut
cut = cutstream.str().c_str();
18 std::stringstream hstream;
19 hstream <<
"hToT_" << channelNr;
20 TH1* tot =
new TH1D(hstream.str().c_str(),
"ToT Histogram ", 1025,-0.5,1024.5);
21 std::stringstream tstream;
22 tstream <<
"data.fToT >> " << hstream.str();
23 t->Draw(tstream.str().c_str(),
cut,
"goff");
24 histos.push_back(tot);
26 std::stringstream hstream1;
27 hstream1 <<
"hECoarse_" << channelNr;
28 TH1* eCoarse =
new TH1D(hstream1.str().c_str(),
"Coarse Energy : EnergyBranch", 1025,-0.5,1024.5);
29 std::stringstream tstream1;
30 tstream1 <<
"data.fEnergyBranch.t_coarse >> " << hstream1.str();
31 t->Draw(tstream1.str().c_str(),
cut,
"goff");
32 histos.push_back(eCoarse);
34 std::stringstream hstream2;
35 hstream2 <<
"hTCoarse_" << channelNr;
36 TH1* tCoarse =
new TH1D(hstream2.str().c_str(),
"Coarse Energy : TimeBranch", 1025,-0.5,1024.5);
37 std::stringstream tstream2;
38 tstream2 <<
"data.fTimeBranch.t_coarse >> " << hstream2.str();
39 t->Draw(tstream2.str().c_str(),
cut,
"goff");
40 histos.push_back(tCoarse);
47 TH1D* histo =
new TH1D(
"hOverview",
"Overview",9,-0.5,8.5);
62 TFile*
f =
new TFile(fileName,
"READ");
67 TFile* fOut =
new TFile(output.c_str(),
"RECREATE");
69 TTree*
t = (TTree*)f->Get(
"PastaTB");
70 TClonesArray* pastadata =
new TClonesArray(
"PndMvdPastaDigi");
71 t->SetBranchAddress(
"data", &pastadata);
73 TH1* hEvents =
new TH1D(
"hEvents",
"Events per Channel", 65,-0.5,64.5);
74 t->Draw(
"data.fTimeBranch.channelId >> hEvents",
"",
"goff");
76 std::vector<ULong64_t> times;
77 std::vector<int> stripNr;
78 for (
int i = 0;
i < t->GetEntriesFast();
i++){
80 for (
int j = 0; j < pastadata->GetEntries(); j++){
88 for(
int i = -1;
i < 64;
i++){
89 std::stringstream channel;
91 for (
int j = 0; j < channelResult.size(); j++){
92 channelResult[j]->Write();
100 const int sizeArray = times.size();
103 TGraph*
g =
new TGraph(sizeArray);
104 g->SetName(
"GraphTimeVsIndex");
105 TGraph*
g2 =
new TGraph(sizeArray);
106 g2->SetName(
"GraphStripVsIndex");
108 for (
int n = 0;
n < sizeArray;
n++){
109 g->SetPoint(
n,
n, times[
n]);
110 g2->SetPoint(n,n,stripNr[n]);
130 std::cout <<
"Finished conversion" << std::endl;
std::vector< TH1 * > CreateChannelHistos(int channelNr, TTree *t)
int timeStructurePasta(TString fileName)
int fWrongFrameCount
count of all frames where the expected frame ID did not match the frameID in the header ...
FairParRootFileIo * output
int fWrongHitCount
count of all frames where the hits in the header do not match the data
int fSingleWordFrames
count of all frames with just one word. This is an error a frame has at least two words ...
A simple class which adds the corresponding file extensions to a given base class.
int fAllPartialResets
count of all partial resets detected
int fMissingFrames
count of all missing frames (not very reliable)
int fCrcErrorCount
count of all frames with wrong CRC
PndMvdCreateDefaultApvMap * creator
int fSuperFrameCount
count of frame counter overflow (should not happen because the frame counter is HUGE ...
int GetChannelId(branchId id)
int fCrcMatchCount
count of all frames with correct CRC
TH1 * CreateErrorHisto(TFile *f)