]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/ana/rawDisplay/rawDisplay.C
removing obsolete classes from build system
[u/mrichter/AliRoot.git] / HLT / PHOS / ana / rawDisplay / rawDisplay.C
1 Int_t rawDisplay(const char* runNb)
2 {
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++");
7   char filepath [50];
8   char outfile [50];
9   Int_t *dataPtr = 0;
10   fUpperBound = 40;
11   fLowerBound = 20;
12   fStartTime = 10;
13   fZeroThreshold = 5;
14   AliHLTPHOSDigit *digitPtr = 0;
15
16   int flag = 0;
17   int count =0 ;
18   TChain *tree= new TChain("digitTree");
19
20   sprintf(filepath, "/tmp/phoshlt/aldaqpc019/hlt/run%s_digitTree_0.root", runNb);
21   cout << "Opening file: " << filepath << endl;
22   tree->Add(filepath);
23  
24   TClonesArray *digArray = new TClonesArray("AliHLTPHOSDigit" , 100);
25   tree->SetBranchAddress("Digit", &digArray);
26   TH1I *rawHist = new TH1I("rawHist", "Raw display", 70, 0, 69);
27   
28   TH1I *rawHist2 = new TH1I("rawHist2", "Raw display", 70, 0, 69);
29   cout << endl << "Tree with " << tree->GetEntries() << " events...\n";
30   
31   for(int k = 0; k < tree->GetEntries(); k++)
32     {
33       tree->GetEntry(k);
34       for(int j = 0; j < digArray->GetEntriesFast(); j++)
35         {
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 )
40             {
41               count++;
42               UInt_t *data = digit->GetRawData();
43               for(Int_t i = 0; i < 70; i++)
44                 {
45                   rawHist->SetBinContent(i, (digit->GetRawData())[i]);
46                 }
47               if(count == 2)
48                 {
49                   cout << "x: "<< digit->GetX() << " - z: " << digit->GetZ() << endl;
50                   for(int c = 0; c < digArray->GetEntriesFast(); c++)
51                     {
52                       d = (AliHLTPHOSDigit*)digArray->At(c);
53                       if(d->GetX() == digit->GetX() && d->GetZ() == digit->GetZ() && digit->GetGain() != d->GetGain())
54                         {
55                            for(Int_t b = 0; b < 70; b++)
56                              {
57                                rawHist2->SetBinContent(b, (d->GetRawData())[b]);
58                              }
59                         }
60                     }
61                   finished = true;
62                   break;
63                 }
64             }
65         }
66       if(finished) break;
67     }
68   /*
69   for(int k = 0; k < tree->GetEntries(); k++)
70     { 
71       if(flag)
72         break;
73       tree->GetEntry(k);
74       for(int j = 0; j < digArray->GetEntriesFast(); j++)
75         {
76           bool IsMIP = true;
77           digitPtr = (AliHLTPHOSDigit*)digArray->At(j);
78           dataPtr = digitPtr->GetRawData();
79           if(digitPtr->GetCrazyness() != 0)
80              {
81                // cout << "Crazy!\n";
82                continue;
83              }
84           if(digitPtr->GetAmplitude() < fLowerBound || digitPtr->GetAmplitude() > fUpperBound)
85              {
86                //  cout << "Wrong amplitude!\n";
87                continue;
88              }
89            
90           for(Int_t time = (Int_t)(digitPtr->GetTime() - 2); time < (digitPtr->GetTime() - 3); time++)
91             {
92               if((Float_t)dataPtr[time] < (digitPtr->GetAmplitude() - (digitPtr->GetAmplitude())/10))
93                 {
94                   //  cout << "Not flat enough!\n";
95                   IsMIP = false;
96                   break;
97                 }
98             }
99           if(!IsMIP)
100             continue;
101           for(Int_t sample = 0; sample < fStartTime; sample++)
102             {
103               if(dataPtr[sample] > fZeroThreshold || dataPtr[sample] < -fZeroThreshold)
104                 {
105                   //  cout << endl << dataPtr[sample] << endl;
106                   //cout << "Not stable baseline!\n";
107                   IsMIP = false;
108                   break;
109                 }
110             }
111           if(dataPtr[(Int_t)fStartTime + 5] < fZeroThreshold)
112             {
113               //      cout << "Not stable signal!\n";
114               IsMIP = false;
115             }
116           if(IsMIP)
117             {
118               cout << "Got MIP!\n";
119 //            fMIPCountEvent++;
120               // fChannelHistPtr->Fill(digitPtr->fX, digitPtr->fZ);
121            
122               for(int a = 0; a < 70; a++)
123                 {
124                   rawHist->SetBinContent(a, (digitPtr->GetRawData())[a]);
125                 }
126               flag++;
127               break;
128             }
129         }
130         }*/
131   
132   rawHist->Draw();
133   
134   TCanvas *can = new TCanvas("can");
135   rawHist2->Draw();
136
137   return 0;
138 }
139   
140