1 Int_t rawDisplay(const char* runNb)
3 gROOT->ProcessLine(".L ../digits/AliHLTPHOSAltroConfig.cxx++");
4 gROOT->ProcessLine(".L ../digits/AliHLTPHOSConfig.cxx++");
5 gROOT->ProcessLine(".L ../digits/AliHLTPHOSBase.cxx++");
6 gROOT->ProcessLine(".L ../digits/AliHLTPHOSDigit.cxx++");
14 AliHLTPHOSDigit *digitPtr = 0;
18 TChain *tree= new TChain("digitTree");
20 sprintf(filepath, "/tmp/phoshlt/aldaqpc019/hlt/run%s_digitTree_0.root", runNb);
21 cout << "Opening file: " << filepath << endl;
24 TClonesArray *digArray = new TClonesArray("AliHLTPHOSDigit" , 100);
25 tree->SetBranchAddress("Digit", &digArray);
26 TH1I *rawHist = new TH1I("rawHist", "Raw display", 70, 0, 69);
28 TH1I *rawHist2 = new TH1I("rawHist2", "Raw display", 70, 0, 69);
29 cout << endl << "Tree with " << tree->GetEntries() << " events...\n";
31 for(int k = 0; k < tree->GetEntries(); k++)
34 for(int j = 0; j < digArray->GetEntriesFast(); j++)
36 digit = (AliHLTPHOSDigit*)digArray->At(j);
37 //if(digit->GetAmplitude() - digit->GetBaseline() > 200)
38 // if(digit->GetBaseline() && digit->GetCrazyness())
39 if(digit->GetCrazyness() == 1 && digit->GetAmplitude() > 200 && digit->GetRawData()[50] < 10 )
42 UInt_t *data = digit->GetRawData();
43 for(Int_t i = 0; i < 70; i++)
45 rawHist->SetBinContent(i, (digit->GetRawData())[i]);
49 cout << "x: "<< digit->GetX() << " - z: " << digit->GetZ() << endl;
50 for(int c = 0; c < digArray->GetEntriesFast(); c++)
52 d = (AliHLTPHOSDigit*)digArray->At(c);
53 if(d->GetX() == digit->GetX() && d->GetZ() == digit->GetZ() && digit->GetGain() != d->GetGain())
55 for(Int_t b = 0; b < 70; b++)
57 rawHist2->SetBinContent(b, (d->GetRawData())[b]);
69 for(int k = 0; k < tree->GetEntries(); k++)
74 for(int j = 0; j < digArray->GetEntriesFast(); j++)
77 digitPtr = (AliHLTPHOSDigit*)digArray->At(j);
78 dataPtr = digitPtr->GetRawData();
79 if(digitPtr->GetCrazyness() != 0)
81 // cout << "Crazy!\n";
84 if(digitPtr->GetAmplitude() < fLowerBound || digitPtr->GetAmplitude() > fUpperBound)
86 // cout << "Wrong amplitude!\n";
90 for(Int_t time = (Int_t)(digitPtr->GetTime() - 2); time < (digitPtr->GetTime() - 3); time++)
92 if((Float_t)dataPtr[time] < (digitPtr->GetAmplitude() - (digitPtr->GetAmplitude())/10))
94 // cout << "Not flat enough!\n";
101 for(Int_t sample = 0; sample < fStartTime; sample++)
103 if(dataPtr[sample] > fZeroThreshold || dataPtr[sample] < -fZeroThreshold)
105 // cout << endl << dataPtr[sample] << endl;
106 //cout << "Not stable baseline!\n";
111 if(dataPtr[(Int_t)fStartTime + 5] < fZeroThreshold)
113 // cout << "Not stable signal!\n";
118 cout << "Got MIP!\n";
120 // fChannelHistPtr->Fill(digitPtr->fX, digitPtr->fZ);
122 for(int a = 0; a < 70; a++)
124 rawHist->SetBinContent(a, (digitPtr->GetRawData())[a]);
134 TCanvas *can = new TCanvas("can");