]>
Commit | Line | Data |
---|---|---|
d15a28e7 | 1 | void testTrackSegment (Int_t evt = 0) |
2 | { | |
3 | ||
4 | //========= Dynamically link some shared libs | |
5 | if (gClassTable->GetID("AliRun") < 0) | |
6 | { | |
7 | gROOT->LoadMacro("loadlibs.C"); | |
8 | loadlibs(); | |
9 | } | |
10 | ||
11 | //========== Opening galice.root file | |
12 | TFile * file = new TFile("galice.root"); | |
13 | ||
14 | //========== Get AliRun object from file | |
15 | gAlice = (AliRun*) file->Get("gAlice"); | |
16 | ||
17 | //=========== Gets the PHOS object and associated geometry from the file | |
18 | AliPHOSv0 * PHOS = (AliPHOSv0 *)gAlice->GetDetector("PHOS"); | |
19 | AliPHOSGeometry * Geom = AliPHOSGeometry::GetInstance(PHOS->GetGeometry()->GetName(),PHOS->GetGeometry()->GetTitle()); | |
20 | ||
21 | //========== Creates the Clusterizer | |
22 | AliPHOSClusterizerv1 clusterizer; | |
23 | clusterizer.SetEmcEnergyThreshold(0.01) ; | |
24 | clusterizer.SetEmcClusteringThreshold(0.1) ; | |
25 | clusterizer.SetPpsdEnergyThreshold(0.0000001) ; | |
26 | clusterizer.SetPpsdClusteringThreshold(0.0000002) ; | |
27 | clusterizer.SetLocalMaxCut(0.03) ; | |
28 | clusterizer.SetCalibrationParameters(0.,0.0000001) ; | |
29 | ||
30 | ||
31 | //========== Creates the track segment maker | |
9f616d61 | 32 | AliPHOSTrackSegmentMakerv1 tracksegmentmaker ; |
d15a28e7 | 33 | |
34 | //========== Creates the Reconstructioner | |
35 | AliPHOSReconstructioner Reconstructioner(clusterizer,tracksegmentmaker); | |
36 | ||
37 | //=========== Connects the various Tree's for evt | |
38 | gAlice->GetEvent(evt); | |
39 | //=========== Gets the Digit TTree | |
40 | gAlice->TreeD()->GetEvent(0) ; | |
41 | //=========== Gets the number of entries in the Digits array | |
42 | Int_t nId = PHOS->Digits()->GetEntries(); | |
43 | // printf("AnaPHOSv0.C> Number of entries in the Digit array is %d \n",nId); | |
44 | ||
45 | //=========== Do the reconstruction | |
46 | ||
47 | AliPHOSDigit * digit ; | |
48 | TIter next(PHOS->Digits()) ; | |
49 | Float_t Etot=0 ; | |
50 | while((digit = (AliPHOSDigit *)next())) Etot+=clusterizer.Calibrate(digit->GetAmp()) ; | |
51 | cout <<"Found " << nId << " digits with total energy " << Etot << endl ; | |
52 | ||
53 | ||
54 | ||
55 | PHOS->Reconstruction(Reconstructioner); | |
56 | ||
57 | //================Make checks=========================== | |
58 | AliPHOSDigit * digit ; | |
59 | TIter next(PHOS->Digits()) ; | |
60 | Float_t Etot=0 ; | |
61 | while((digit = (AliPHOSDigit *)next())) Etot+=clusterizer.Calibrate(digit->GetAmp() ); | |
62 | cout <<"Found " << nId << " digits with total energy " << Etot << endl ; | |
63 | ||
64 | TClonesArray * EmcRP = PHOS->EmcClusters() ; | |
65 | Etot = 0.; | |
66 | TIter nextemc(EmcRP) ; | |
67 | AliPHOSEmcRecPoint * emc ; | |
68 | while((emc = (AliPHOSEmcRecPoint *)nextemc())) { | |
69 | Etot+=emc->GetTotalEnergy() ; | |
70 | TVector3 pos ; | |
71 | emc->GetLocalPosition(pos ) ; | |
72 | TMatrix Dummy ; | |
73 | emc->GetGlobalPosition(pos,Dummy) ; | |
74 | } | |
75 | ||
76 | cout << "Found " << EmcRP->GetEntries() << " EMC Clusters with total energy "<<Etot << endl ; | |
77 | TClonesArray * PpsdRP = PHOS->PpsdClusters() ; | |
78 | cout << "Found " << PpsdRP->GetEntries() << " Ppsd Clusters " << endl ; | |
79 | ||
80 | TObjArray * trsegl = PHOS->TrackSegments() ; | |
81 | AliPHOSTrackSegment trseg ; | |
82 | ||
83 | Int_t NTrackSegments = trsegl->GetEntries() ; | |
84 | Int_t index ; | |
85 | Etot = 0 ; | |
86 | for(index = 0; index < NTrackSegments ; index++){ | |
87 | trseg = (AliPHOSTrackSegment * )trsegl->At(index) ; | |
88 | Etot+= trseg->GetEnergy() ; | |
89 | trseg->Print() ; | |
90 | } | |
91 | cout << "Found " << trsegl->GetEntries() << " Track segments with total energy "<< Etot << endl ; | |
92 | ||
93 | } | |
94 | ||
95 |