3 #include "TClonesArray.h"
5 #include "../digits/AliHLTPHOSDebugRawDigit.h"
6 #include "../digits/AliHLTPHOSDigit.h"
7 #include "../digits/AliHLTPHOSAltroConfig.h"
10 Int_t digitConverter(Int_t runNb, Int_t segNb)
12 gROOT->ProcessLine(".L ../digits/AliHLTPHOSDigit.cxx+");
13 gROOT->ProcessLine(".L ../digits/AliHLTPHOSDebugRawDigit.cxx+");
15 sprintf(filename, "/tmp/phoshlt/aldaqpc019/hlt/run%d_digitTree_%d.root", runNb, segNb);
19 bool finished = false;
21 TChain *tree= new TChain("digitTree");
22 TTree *newTree = new TTree("digitTree", "Digits tree" );
25 TClonesArray *rawDigArray = new TClonesArray("AliHLTPHOSDebugRawDigit" , 100);
26 TClonesArray *oldDigArray = new TClonesArray("AliHLTPHOSDigit" , 100);
27 TClonesArray *newDigArray = new TClonesArray("AliHLTPHOSDigit" , 100);
29 newTree->Branch("Digit", &newDigArray);
30 tree->SetBranchAddress("DebugRawDigit", &digArray);
31 AliHLTPHOSDebugRawDigit *digit = 0;
32 AliHLTPHOSDigit *newDigit = 0;
33 cout << endl << "Opening file: " << filename << endl;
34 cout << "Converting tree with " << tree->GetEntries() << " events\n";
36 for(int k = 0; k < tree->GetEntries(); k++)
39 for(int j = 0; j < digArray->GetEntriesFast(); j++)
41 digit = (AliHLTPHOSDebugRawDigit*)digArray->At(j);
42 newDigit = (AliHLTPHOSDigit*)newDigArray->New(j);
43 newDigit->SetX(digit->GetX());
44 newDigit->SetZ(digit->GetZ());
45 newDigit->SetAmplitude(digit->GetAmplitude());
46 newDigit->SetTime(digit->GetTime());
47 newDigit->SetEnergy(digit->GetEnergy());
48 newDigit->SetGain(digit->GetGain());
49 newDigit->SetRawData((Int_t*)(digit->GetRawData()));
50 if(digit->GetCrazyness() == 0)
51 newDigit->SetCrazyness(1);
52 if(digit->GetCrazyness() == 1)
53 newDigit->SetCrazyness(0);
54 newDigit->SetBaseline(digit->GetBaseline());
59 cout << "Conversion done, writing file: " << filename << endl;;
60 TFile *outfile = new TFile(filename,"recreate");