3 //read T0 RecPoints and plots histos
5 // Dynamically link some shared libs
6 /* if (gClassTable->GetID("AliRun") < 0) {
7 gROOT->LoadMacro("loadlibs.C");
12 sprintf(filename,"galice.root");
13 AliRunLoader* rl = AliRunLoader::Open("galice.root",AliConfig::GetDefaultEventFolderName(),"read");
16 cerr<<"Can not open session for file galice.root\n";
21 gAlice = rl->GetAliRun();
23 AliT0* T0 = (AliT0 *)gAlice->GetDetector("T0");
27 AliLoader* lstart = rl->GetLoader("T0Loader");
29 Int_t iNevents=rl->GetNumberOfEvents();
30 cout<<" nevents "<<iNevents<<endl;
33 TH1F *hBestTimeC = new TH1F("hBestTimeC","First time Cside",
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);
39 TH1F *hRealVertex = new TH1F("hRealVertex","Real Vertex",100,-15,15);
41 TH1F *hVertex = new TH1F("hVertex","Z position of vertex", 100,-15,15);
43 TH1F *hAmp = new TH1F("hAmp"," amplitude", 100, 10,1000);
44 TH1F *hTime = new TH1F("hTime"," time", 100,12000.,20000);
46 TArrayI *amp = new TArrayI(24);
47 TArrayI *time = new TArrayI(24);
49 AliT0RecPoint *fRec ; // digits
50 fRec = new AliT0RecPoint();
52 // Event ------------------------- LOOP
53 for (Int_t ievent=0; ievent<iNevents; ievent++){
54 // for (Int_t ievent=0; ievent<990; ievent++){
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);
64 lstart->LoadRecPoints("READ");
65 TTree *recTree = lstart->TreeR();
66 TBranch *brRec=recTree->GetBranch("T0");
67 AliT0RecPoint *fRec = new AliT0RecPoint();
69 brRec->SetAddress(&fRec);
71 cerr<<"EXEC Branch T0 Recpoints not found"<<endl;
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();
83 cout<<ievent<<" "<<mean<<" real vertex "<< zRealVertex<<" vertex "<<vertex<<
84 " a "<< besttimeleft<<" c "<< besttimeright<<endl;
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;
94 Hfile = new TFile("FigRec.root","RECREATE","Histograms for T0
96 printf("Writting histograms to root file \n");
98 //Create a canvas, set the view range, show histograms
99 gStyle->SetOptStat(111111);
100 // TCanvas *c1 = new TCanvas("c1","Alice T0 Time ",400,10,600,600);
101 // hTimediff->Write();
103 hBestTimeA ->Write();
105 hRealVertex->Write();