]> git.uio.no Git - u/mrichter/AliRoot.git/blame - START/readRec.C
Conversion photons to photoelectrons moved to AliSTARTv1
[u/mrichter/AliRoot.git] / START / readRec.C
CommitLineData
e9f4d29d 1void readRec()
2{
3 //read START RecPoints and plots histos
4
5 // Dynamically link some shared libs
6 /* if (gClassTable->GetID("AliRun") < 0) {
7 gROOT->LoadMacro("loadlibs.C");
8 loadlibs();
9 }
10 */
11 char filename[100];
12 sprintf(filename,"galice.root");
13 AliRunLoader* rl = AliRunLoader::Open("galice.root",AliConfig::GetDefaultEventFolderName(),"read");
14 if (rl == 0x0)
15 {
16 cerr<<"Can not open session for file galice.root\n";
17 return;
18 }
19
20 rl->LoadgAlice();
21 gAlice = rl->GetAliRun();
22
23 AliSTART* START = (AliSTART *)gAlice->GetDetector("START");
24
25 rl->LoadHeader();
26 Int_t retval;
27 AliLoader* lstart = rl->GetLoader("STARTLoader");
28
29 Int_t iNevents=rl->GetNumberOfEvents();
30 cout<<" nevents "<<iNevents<<endl;
31
32
33 TH1F *hBestTimeC = new TH1F("hBestTimeC","First time Cside",
34 100,12.,13.);
35 TH1F *hBestTimeA = new TH1F("hBestTimeA","First time Aside",100,12.,13.);
36 TH1F *hMean= new TH1F("hMean"," T0 ",100,12.,13.);
37 TH1F *hAcc = new TH1F("hAcc","rec - real vertex",100,-10,10);
38
39 TH1F *hRealVertex = new TH1F("hRealVertex","Real Vertex",100,-15,15);
40
41 TH1F *hVertex = new TH1F("hVertex","Z position of vertex", 100,-15,15);
77cd1ebb 42
43 TH1F *hAmp = new TH1F("hAmp"," amplitude", 100, 10,1000);
44 TH1F *hTime = new TH1F("hTime"," time", 100,12000.,20000);
45
46 TArrayI *amp = new TArrayI(24);
47 TArrayI *time = new TArrayI(24);
48
e9f4d29d 49 AliSTARTRecPoint *fRec ; // digits
50 fRec = new AliSTARTRecPoint();
51
52 // Event ------------------------- LOOP
53 for (Int_t ievent=0; ievent<iNevents; ievent++){
77cd1ebb 54 // for (Int_t ievent=0; ievent<990; ievent++){
e9f4d29d 55 rl->GetEvent(ievent);
56
57 AliHeader *header = gAlice->GetHeader();
58 AliGenEventHeader* genHeader = header->GenEventHeader();
59 TArrayF *o = new TArrayF(3);
60 genHeader->PrimaryVertex(*o);
61 Float_t zRealVertex=o->At(2);
62 hRealVertex->Fill( zRealVertex);
63
64 lstart->LoadRecPoints("READ");
65 TTree *recTree = lstart->TreeR();
66 TBranch *brRec=recTree->GetBranch("START");
67 AliSTARTRecPoint *fRec = new AliSTARTRecPoint();
68 if (brRec) {
69 brRec->SetAddress(&fRec);
70 }else{
71 cerr<<"EXEC Branch START Recpoints not found"<<endl;
72 return;
73 }
74 brRec->GetEntry(0);
75 Int_t mean = fRec->GetMeanTime();
76 hMean->Fill(mean/1000.);
77 Int_t besttimeleft = fRec->GetBestTimeLeft();
78 Int_t besttimeright = fRec->GetBestTimeRight();
79 hBestTimeC->Fill(0.001 * besttimeright);
80 hBestTimeA->Fill(0.001 * besttimeleft );
81 Float_t vertex= fRec->GetVertex();
77cd1ebb 82 if(vertex<99){
e9f4d29d 83 cout<<ievent<<" "<<mean<<" real vertex "<< zRealVertex<<" vertex "<<vertex<<
84 " a "<< besttimeleft<<" c "<< besttimeright<<endl;
77cd1ebb 85 hAcc->Fill(zRealVertex-vertex);
86 hVertex->Fill(vertex);
87 for (Int_t i=0; i<24; i++){
88 hAmp->Fill(fRec->GetAmp(i));
89 hTime->Fill(fRec->GetTime(i));
90 // cout<<"time "<<fRec->GetTime(i)<<" amp "<<fRec->GetAmp(i)<<endl;
91 }
92 }
e9f4d29d 93 }
94 Hfile = new TFile("FigRec.root","RECREATE","Histograms for START
95digits");
96 printf("Writting histograms to root file \n");
97 Hfile->cd();
98 //Create a canvas, set the view range, show histograms
99 gStyle->SetOptStat(111111);
100 // TCanvas *c1 = new TCanvas("c1","Alice START Time ",400,10,600,600);
101 // hTimediff->Write();
102 hBestTimeC->Write();
103 hBestTimeA ->Write();
104 hVertex->Write();
105 hRealVertex->Write();
106 hAcc->Write();
77cd1ebb 107 hMean->Write();
108 hAmp->Write();
109 hTime->Write();
e9f4d29d 110} // end of macro
111
112
113
114