ROOT logo
void drawMultiplicity(const char* filename = "AnalysisResults.root") {
  //Draws the multiplicity for each centrality bin
  const Int_t nCentralityBins = 20;

  //_______________________________________________________________//
  //Open the input file
  TFile *f = TFile::Open(filename);
  if(!f->IsOpen()) {
    Printf("File not found!!!");
    break;
  }

  //_______________________________________________________________//
  //Get the TDirectoryFile
  TDirectoryFile *dir = dynamic_cast<TDirectoryFile *>(f->Get("outputFluctuationAnalysis.root"));
  if(!dir) {
    Printf("TDirectoryFile not found!!!");
    break;
  }

  //_______________________________________________________________//
  //Get the TList
  TList *list = dynamic_cast<TList *>(dir->Get("fluctuationsOutput"));
  if(!list) {
    Printf("TList not found!!!");
    break;
  }
  //list->ls();

  TH1F *gHistNMultiplicity[nCentralityBins];
  TH2F *gHistNPlusNMinus[nCentralityBins];
  TString histName;

  for(Int_t iBin = 1; iBin <= nCentralityBins; iBin++) {
    histName = "fHistNPlusNMinusCentrality"; histName += iBin;
    gHistNPlusNMinus[iBin-1] = dynamic_cast<TH2F *>(list->FindObject(histName.Data()));
    gHistNPlusNMinus[iBin-1]->SetMarkerColor(iBin);

    histName = "fHistNMultCentrality"; histName += iBin;
    gHistNMultiplicity[iBin-1] = dynamic_cast<TH1F *>(list->FindObject(histName.Data()));
    gHistNMultiplicity[iBin-1]->SetMarkerColor(iBin);
    gHistNMultiplicity[iBin-1]->SetLineColor(iBin);
    gHistNMultiplicity[iBin-1]->Scale(5000./gHistNMultiplicity[iBin-1]->Integral());
  }

  //_______________________________________________________________//
  //Draw the multiplicity distributions
  TH2F *hEmpty = new TH2F("hEmpty","",200,0,2000,500,0,2000);
  hEmpty->SetStats(kFALSE);
  hEmpty->GetXaxis()->SetNdivisions(10);
  hEmpty->GetYaxis()->SetNdivisions(10);
  hEmpty->GetXaxis()->SetTitleOffset(1.4);
  hEmpty->GetYaxis()->SetTitleOffset(1.4);

  TCanvas *c1 = new TCanvas("c1","",0,0,600,500);
  c1->SetFillColor(10); c1->SetHighLightColor(10);
  c1->SetLeftMargin(0.15); c1->SetBottomMargin(0.15);
  hEmpty->GetXaxis()->SetTitle("N_{+}");
  hEmpty->GetYaxis()->SetTitle("N_{-}");
  hEmpty->GetXaxis()->SetRangeUser(0,1000);
  hEmpty->GetYaxis()->SetRangeUser(0,1000);
  hEmpty->DrawCopy();
  for(Int_t iBin = 1; iBin <= nCentralityBins; iBin++)
    gHistNPlusNMinus[iBin-1]->DrawCopy("same");

  TCanvas *c2 = new TCanvas("c2","",600,0,600,500);
  c2->SetFillColor(10); c2->SetHighLightColor(10);
  c2->SetLeftMargin(0.15); c2->SetBottomMargin(0.15);
  hEmpty->GetXaxis()->SetTitle("N_{tracks}");
  hEmpty->GetYaxis()->SetTitle("Entries");
  hEmpty->GetYaxis()->SetRangeUser(0,2000);
  hEmpty->GetXaxis()->SetRangeUser(0,2000);
  hEmpty->DrawCopy();
  for(Int_t iBin = 1; iBin <= nCentralityBins; iBin++)
    gHistNMultiplicity[iBin-1]->DrawCopy("esame");
}
 drawMultiplicity.C:1
 drawMultiplicity.C:2
 drawMultiplicity.C:3
 drawMultiplicity.C:4
 drawMultiplicity.C:5
 drawMultiplicity.C:6
 drawMultiplicity.C:7
 drawMultiplicity.C:8
 drawMultiplicity.C:9
 drawMultiplicity.C:10
 drawMultiplicity.C:11
 drawMultiplicity.C:12
 drawMultiplicity.C:13
 drawMultiplicity.C:14
 drawMultiplicity.C:15
 drawMultiplicity.C:16
 drawMultiplicity.C:17
 drawMultiplicity.C:18
 drawMultiplicity.C:19
 drawMultiplicity.C:20
 drawMultiplicity.C:21
 drawMultiplicity.C:22
 drawMultiplicity.C:23
 drawMultiplicity.C:24
 drawMultiplicity.C:25
 drawMultiplicity.C:26
 drawMultiplicity.C:27
 drawMultiplicity.C:28
 drawMultiplicity.C:29
 drawMultiplicity.C:30
 drawMultiplicity.C:31
 drawMultiplicity.C:32
 drawMultiplicity.C:33
 drawMultiplicity.C:34
 drawMultiplicity.C:35
 drawMultiplicity.C:36
 drawMultiplicity.C:37
 drawMultiplicity.C:38
 drawMultiplicity.C:39
 drawMultiplicity.C:40
 drawMultiplicity.C:41
 drawMultiplicity.C:42
 drawMultiplicity.C:43
 drawMultiplicity.C:44
 drawMultiplicity.C:45
 drawMultiplicity.C:46
 drawMultiplicity.C:47
 drawMultiplicity.C:48
 drawMultiplicity.C:49
 drawMultiplicity.C:50
 drawMultiplicity.C:51
 drawMultiplicity.C:52
 drawMultiplicity.C:53
 drawMultiplicity.C:54
 drawMultiplicity.C:55
 drawMultiplicity.C:56
 drawMultiplicity.C:57
 drawMultiplicity.C:58
 drawMultiplicity.C:59
 drawMultiplicity.C:60
 drawMultiplicity.C:61
 drawMultiplicity.C:62
 drawMultiplicity.C:63
 drawMultiplicity.C:64
 drawMultiplicity.C:65
 drawMultiplicity.C:66
 drawMultiplicity.C:67
 drawMultiplicity.C:68
 drawMultiplicity.C:69
 drawMultiplicity.C:70
 drawMultiplicity.C:71
 drawMultiplicity.C:72
 drawMultiplicity.C:73
 drawMultiplicity.C:74
 drawMultiplicity.C:75
 drawMultiplicity.C:76
 drawMultiplicity.C:77