2 #include "AliHLTPHOSDigitContainerStruct.h"
3 #include "AliHLTPHOSRecPointContainerStruct.h"
4 #include "AliPHOSDigit.h"
5 #include "AliPHOSGetter.h"
6 #include "AliHLTPHOSClusterizer.h"
7 #include "AliPHOSReconstructor.h"
8 #include "AliPHOSGeometry.h"
23 AliHLTPHOSDigitContainerStruct *digCon = new AliHLTPHOSDigitContainerStruct();
25 AliHLTPHOSRecPointContainerStruct *recCon = new AliHLTPHOSRecPointContainerStruct();
26 AliHLTPHOSClusterizer *clusterizer = new AliHLTPHOSClusterizer();
28 AliPHOSDigit * offDig = 0;
39 AliPHOSGeometry *geometry = AliPHOSGeometry::GetInstance();
41 TH2F *hist = new TH2F("hist", "hist", 56, 1, 56, 64, 2, 65);
42 TFile *outfile = new TFile("histogram.root","recreate");
44 AliPHOSGetter *getter = AliPHOSGetter::Instance("/home/odjuvsla/Workspace/Simulations/test4/galice.root");
45 TClonesArray* digs = getter->Digits();
47 clusterizer->SetOfflineMode("/home/odjuvsla/Workspace/Simulations/test4/galice.root");
48 clusterizer->SetRecPointContainer(recCon);
52 for(int k = 0; k < getter->MaxEvent(); k++)
55 //getter->Event(k,"D");
56 //digCon->fNDigits = digs->GetEntries();
58 clusterizer->GetEvent(k);
60 /* for(int i = 0; i < digs->GetEntries(); i++)
62 offDig = (AliPHOSDigit*)digs->At(i);
63 digCon->fDigitDataStruct[i].fID = offDig->GetId();
64 digCon->fDigitDataStruct[i].fEnergy = offDig->GetEnergy();
65 digCon->fDigitDataStruct[i].fTime = offDig->GetTime();
66 hist->Fill(coord[3], coord[2], offDig->GetEnergy());
70 outfile->Open("histogram.root", "recreate");
72 outfile->Close("histogram.root");
77 clusterizer->SetDigitContainer(digCon);
78 nClusters = clusterizer->ClusterizeEvent();
79 clusterizer->CalculateCenterOfGravity();
84 printf("Event #: %d\n", k);
85 printf("Number of clusters found: ", nClusters);
87 for(int m = 0; m < nClusters; m++)
90 for (int n = 0; n < recCon->fRecPointArray[m].fMultiplicity; n++)
92 energy += recCon->fRecPointArray[m].fDigitsList[n].fEnergy;
94 printf("Clusters:\n");
95 printf("Cluster energy: %f\n", energy);
96 printf("Cluster position: x = %f -- z = %f\n", recCon->fRecPointArray[m].fX, recCon->fRecPointArray[m].fZ);
97 printf("Digit multiplicity: %d\n", recCon->fRecPointArray[m].fMultiplicity);
103 printf("Clusterizing done!\n");
105 printf("Time pr event (us): %f\n", (float)total/((float)getter->MaxEvent()*(float)a));