void get_FRAOrder() { gStyle->SetOptStat(0); // TFile* fHitsFile = TFile::Open("Gem_3Stations_15GeV_n6000_hitsSELECTOR.root"); // TFile* fHitsFile = TFile::Open("Gem_3Stations_15GeV_n6000_hits_proof.root"); // TFile* fHitsFile = TFile::Open("Gem_3Stations_15GeV_n6000_tracks_proof.root"); TFile* fHitsFile = TFile::Open("Gem_3Stations_15GeV_n16500_tracks_proof.root"); TTree* fHitsTree = (TTree*) fHitsFile->Get("cbmsim"); FairEventHeader* fEHeader = new FairEventHeader(); fHitsTree->SetBranchAddress("EventHeader.",&fEHeader); Int_t nofEvents = fHitsTree->GetEntriesFast(); TCanvas* eCanv = new TCanvas("entriesOrder","Entries order",10,10,800,600); TH1F* entriesOrder = new TH1F("entriesOrder","entries order",nofEvents,-0.5,nofEvents-0.5); for ( Int_t iEvent = 0 ; iEvent < nofEvents ; iEvent++ ) { fHitsTree->GetEntry(iEvent); entriesOrder->Fill(iEvent,fEHeader->GetMCEntryNumber()); } entriesOrder->Draw(); const Int_t nofWorkers = 4; TFile* fWorkerFile[nofWorkers]; TTree* fWorkerTree[nofWorkers]; TH1F* fWorkerEntr[nofWorkers]; TCanvas* wCanv = new TCanvas("workerDetails","Worker analyzer",10,10,800,600); TLegend* aLeg = new TLegend(0.8,0.85,1.0,1.0); for ( Int_t iwork = 0 ; iwork < nofWorkers ; iwork++ ) { fWorkerFile[iwork] = TFile::Open(Form("worker0.%d_FRA.root",iwork)); fWorkerTree[iwork] = (TTree*) fWorkerFile[iwork]->Get("cbmsim"); fWorkerEntr[iwork] = new TH1F(Form("entriesOrder%d",iwork),"worker analyzer",nofEvents,-0.5,nofEvents-0.5); fWorkerTree[iwork]->SetBranchAddress("EventHeader.",&fEHeader); Int_t workerNofEvents = fWorkerTree[iwork]->GetEntriesFast(); for ( Int_t iEvent = 0 ; iEvent < workerNofEvents ; iEvent++ ) { fWorkerTree[iwork]->GetEntry(iEvent); fWorkerEntr[iwork]->Fill(fEHeader->GetMCEntryNumber()); } aLeg->AddEntry(fWorkerEntr[iwork],Form("worker 0.%d",iwork),"F"); fWorkerEntr[iwork]->SetLineColor(2+iwork); fWorkerEntr[iwork]->SetFillColor(2+iwork); if ( iwork == 0 ) fWorkerEntr[iwork]->Draw(); else fWorkerEntr[iwork]->Draw("same"); } aLeg->Draw(); }