]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/clusterizer/clusterCompare/clusterCompare.cxx
Update of ITS tracking check task and related macros
[u/mrichter/AliRoot.git] / HLT / PHOS / clusterizer / clusterCompare / clusterCompare.cxx
CommitLineData
48b962f0 1
2#include "AliHLTPHOSDigitContainerStruct.h"
3#include "AliHLTPHOSRecPointContainerStruct.h"
4#include "AliHLTPHOSClusterizer.h"
5#include "AliPHOSGetter.h"
6#include "TH1I.h"
7#include "TObjArray.h"
8#include "TFile.h"
9
10#define NLOOPS 1
11
12Int_t clusterCompare();
13
14int main()
15{
16 clusterCompare();
17 return 0;
18}
19
20Int_t clusterCompare()
21{
22
23 AliHLTPHOSDigitContainerStruct *digCon = new AliHLTPHOSDigitContainerStruct();
24 AliHLTPHOSRecPointContainerStruct *recCon = new AliHLTPHOSRecPointContainerStruct();
25 AliHLTPHOSClusterizer *clusterizer = new AliHLTPHOSClusterizer();
26 AliPHOSGetter *getter = AliPHOSGetter::Instance("/home/odjuvsla/Workspace/Simulations/singlePhoton/galice.root");
27
28 TObjArray *emcRecPoints = getter->EmcRecPoints();
29
30 TH1I *hist = new TH1I("hist", "Difference in number of clusters found", 10, -5, 5);
31
32 int nClusters = 0;
33 int a = 0;
34
35 clock_t start = 0;
36 clock_t end = 0;
37 clock_t total = 0;
38 int count = 0;
39
40 clusterizer->SetOfflineMode(getter);
41 clusterizer->SetRecPointContainer(recCon);
42
43 while(a < NLOOPS)
44 {
45 for(int k = 0; k < clusterizer->GetNEvents(); k++)
46 {
47 // printf("Getting event...");
48 clusterizer->GetEvent(k);
49 // getter->Event(k, "R");
50 // printf("Done!\n");
51
52 //printf("Starting HLT clusterizing... ");
53 start = clock();
54 clusterizer->SetDigitContainer(digCon);
55 nClusters = clusterizer->ClusterizeEvent();
56 clusterizer->CalculateCenterOfGravity();
57 end = clock();
58 //printf("Done!\n");
59 total += end - start;
60 if(nClusters == 2)
61 {
62 printf("WTF! 2 cluster! --- Event: %d\n", k);
63 printf("Positions:\n");
64 printf("x = %f -- z = %f\n", recCon->fRecPointArray[0].fX, recCon->fRecPointArray[0].fZ);
65 printf("x = %f -- z = %f\n", recCon->fRecPointArray[1].fX, recCon->fRecPointArray[1].fZ);
66 printf("Energies:\n");
67 printf("%f\n", recCon->fRecPointArray[0].fAmp);
68 printf("%f\n", recCon->fRecPointArray[1].fAmp);
69 printf("Multiplicities:\n");
70 printf("%d\n",recCon->fRecPointArray[0].fMultiplicity);
71 printf("%d\n",recCon->fRecPointArray[1].fMultiplicity);
72 printf("Digits:\n");
73 for(int c = 0; c < recCon->fRecPointArray[0].fMultiplicity; c++)
74 {
75 printf("x = %d -- z = %d -- energy = %f\n", recCon->fRecPointArray[0].fDigitsList[c].fX, recCon->fRecPointArray[0].fDigitsList[c].fZ, recCon->fRecPointArray[0].fDigitsList[c].fEnergy );
76 }
77 printf("\n");
78 for(int b = 0; b < recCon->fRecPointArray[1].fMultiplicity; b++)
79 {
80 printf("x = %d -- z = %d -- energy = %f\n", recCon->fRecPointArray[1].fDigitsList[b].fX, recCon->fRecPointArray[1].fDigitsList[b].fZ, recCon->fRecPointArray[1].fDigitsList[b].fEnergy );
81 }
82 printf("\n");
83
84
85 }
86 else
87 printf("Multiplicity: %d\n\n", recCon->fRecPointArray[0].fMultiplicity);
88 count += nClusters;
89 //hist->Fill(emcRecPoints->GetEntriesFast() - recCon->fNRecPoints);
90 }
91 a++;
92 }
93
94
95 TFile *outfile = new TFile("histogram.root","recreate");
96 // hist->Write();
97 outfile->Close();
98
99 printf("Clusterizing done!\n");
100 printf("Total number of clusters: %d\n", count);
101
102 printf("Time pr event (us): %f\n", (float)total/((float)clusterizer->GetNEvents()*(float)a));
103
104 return 0;
105}
106
107