]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/CALO/macros/read_HLT_ESDs.C
Updates EvtGen Code
[u/mrichter/AliRoot.git] / HLT / CALO / macros / read_HLT_ESDs.C
1 #if !defined(__CINT__) || defined(__MAKECINT__)
2 #include "TString.h"
3 #include "TClonesArray.h"
4 #include "TTree.h"
5 #include "TH1F.h"
6 #include "TH2F.h"
7 #include "TCanvas.h"
8 #include "AliESDEvent.h"
9 #include "AliESDCaloCluster.h"
10 #include "TFile.h"
11 #include <iostream>
12 #endif
13
14 int read_HLT_ESDs(TString file = "AliESDs.root")
15 {
16
17    TH2F *clusterPosXY = new TH2F("clusterPosXY", "clusterPosXY", 1000, -500, 500, 1000, -500, 500);
18    TH2F *clusterPosXZ = new TH2F("clusterPosXZ", "clusterPosXZ", 1000,  -500, 500, 1000, -500, 500);
19    
20    TH1F *clusterEnergies = new TH1F("clusterEnergies", "clusterEnergies", 1100, 0, 110);
21    
22    TH1I *clusterMult = new TH1I("clusterMult", "clusterMult", 1000, 1, 1000);
23    TFile *esdFile = TFile::Open(file, "READ");
24    
25    TTree *esdTree = dynamic_cast<TTree*>(esdFile->Get("HLTesdTree"));
26    
27    if(!esdTree) return -1;
28    
29    std::cout << "Number of events in ESD: " << esdTree->GetEntries() << std::endl;
30    
31    TClonesArray *clusters = 0;
32    
33    esdTree->SetBranchAddress("CaloClusters", &clusters);
34    
35    for(int ev = 0; ev < esdTree->GetEntries(); ev++)
36    {
37       esdTree->GetEntry(ev);
38       
39       cout << "Number of clusters in event: " << clusters->GetEntries() << endl;
40       
41       for(int c = 0; c < clusters->GetEntries(); c++)
42       {
43          AliESDCaloCluster *cl = dynamic_cast<AliESDCaloCluster*>(clusters->At(c));
44       
45          cout << "\tCluster #: " << c << ",   energy: " << cl->E() << endl;
46          
47          Float_t pos[3];
48          
49          cl->GetPosition(pos);
50          
51          cout << "\tx: " << pos[0] << ", y: " << pos[1] << ", z: " << pos[2] << endl;
52          
53          clusterPosXY->Fill(pos[0], pos[1]);
54          clusterPosXZ->Fill(pos[0], pos[2]);
55          
56          clusterEnergies->Fill(cl->E());
57          clusterMult->Fill(cl->GetNCells());
58          
59          
60       }
61    }
62    //   AliESDEvent *esdEvent = reinterpret_cast<AliESDEvent*>(esdFile->Get("
63    
64 //   clusterPos->Draw();
65    
66    //clusterEnergies->Draw();
67
68    TCanvas *c1 = new TCanvas("c1", "", 0, 0, 800, 450);
69    c1->Divide(2, 1);
70    c1->cd(1);
71    clusterEnergies->Draw();
72    c1->cd(2);
73    clusterMult->Draw();
74    
75    
76    TCanvas *c2 = new TCanvas("c2", "", 10, 10, 800, 450);
77    c2->Divide(2, 1);
78    c2->cd(1);
79    clusterPosXY->Draw();
80    c2->cd(2);
81    clusterPosXZ->Draw();
82             
83    return 0;
84 }