]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/macros/underlyingevent/plots.C
2f94e8c205abbb3fde27bb7f144a5f828c44fa07
[u/mrichter/AliRoot.git] / PWG4 / macros / underlyingevent / plots.C
1 void loadlibs()
2 {
3   gSystem->Load("libANALYSIS");
4   gSystem->Load("libANALYSISalice");
5   gSystem->Load("libCORRFW");
6   gSystem->Load("libJETAN");
7   gSystem->Load("libPWG4JetTasks");
8 }
9
10 void PlotTrackingEfficiencies()
11 {
12   TGrid::Connect("alien://");
13
14   loadlibs();
15
16   ifstream in;
17   in.open("list");
18
19   Int_t i=0;
20
21   legend = new TLegend(0.5, 0.1, 0.9, 0.5);
22   legend->SetNColumns(2);
23
24   TString line;
25   while (in.good())
26   {
27     in >> line;
28
29     if (line.Length() == 0)
30       continue;
31
32     TString fileName;
33     fileName.Form("%s/%s/PWG4_JetTasksOutput.root", "alien:///alice/cern.ch/user/k/kleinb/analysisESD/LHC10d4/output_pwg4train_LHC10d4_101001a", line.Data());
34     Printf("%s", fileName.Data());
35     file = TFile::Open(fileName);
36     if (!file)
37       continue;
38     list = (TList*) file->Get("PWG4_LeadingTrackUE/histosLeadingTrackUE");
39     AliUEHistograms* h = (AliUEHistograms*) list->FindObject("AliUEHistograms");
40     h->SetEtaRange(-0.79, 0.79);
41
42     TH1::AddDirectory(0);
43     eff = (TH1*) h->GetNumberDensitypT()->GetTrackingEfficiency(1)->Clone(Form("trackingefficiency%s", line.Data()));
44
45     delete h;
46     //delete list;
47     file->Close();
48
49     eff->SetLineColor(i+1);
50     eff->GetXaxis()->SetRangeUser(0, 10);
51     eff->GetYaxis()->SetRangeUser(0.6, 0.8);
52     eff->Draw((i == 0) ? "" : "SAME");
53  
54     legend->AddEntry(eff, line);
55
56     i++;
57     //if (i > 1)
58     //  break;
59   }
60
61   legend->Draw();
62
63   in.close();
64 }
65
66 void TrackingEfficiencySpecies(const char* fileName = "PWG4_JetTasksOutput.root")
67 {
68   loadlibs();
69
70   file = TFile::Open(fileName);
71   list = (TList*) file->Get("PWG4_LeadingTrackUE/histosLeadingTrackUE");
72   AliUEHistograms* h = (AliUEHistograms*) list->FindObject("AliUEHistograms");
73   h->SetEtaRange(-0.79, 0.79);
74
75   eff = (TH2*) h->GetNumberDensitypT()->GetTrackEfficiency(AliUEHist::kCFStepAnaTopology, AliUEHist::kCFStepTrackedOnlyPrim, 1, 2);
76   eff->Draw("colz");
77
78   for (Int_t i=0; i<4; i++)
79   {
80     proj = eff->ProjectionX(Form("p%d", i), i+1, i+1);
81     proj->SetLineColor(i+1);
82     proj->Draw((i==0) ? "" : "SAME");
83   }
84 }
85
86 void CheckTrackingEfficiency(const char* reference = 0, const char* fileName = "PWG4_JetTasksOutput.root", Bool_t all = kFALSE)
87 {
88   loadlibs();
89
90   file = TFile::Open(fileName);
91   list = (TList*) file->Get("PWG4_LeadingTrackUE/histosLeadingTrackUE");
92   tree = (TTree*) list->FindObject("UEAnalysisSettings");
93   
94   if (reference)
95   {
96     file2 = TFile::Open(reference);
97     refHist = (TH1D*) file2->Get("trackingefficiency");
98   }
99   else
100   {
101     AliUEHistograms* h = (AliUEHistograms*) list->FindObject("AliUEHistograms");
102     h->SetEtaRange(-0.79, 0.79);
103     refHist = h->GetNumberDensitypT()->GetTrackingEfficiency(1);
104   }
105
106   refHist->SetLineWidth(3);
107   refHist->GetListOfFunctions()->Clear();
108   refHist->Draw();
109
110   TH1D* hist = 0;
111   
112   tree->SetBranchAddress("fkTrackingEfficiency", &hist);
113   
114   for (Int_t i=0; i<tree->GetEntries(); i++)
115   {
116     tree->GetEntry(i);
117     hist->GetListOfFunctions()->Clear();
118     hist->SetLineColor(i+2);
119     hist->DrawCopy("SAME");
120     if (!all)
121       break;
122   }
123 }
124
125 void PlotSingleTrackingEfficiency(const char* fileName, Int_t what = 0)
126 {
127   loadlibs();
128
129   file = TFile::Open(fileName);
130   list = (TList*) file->Get("PWG4_LeadingTrackUE/histosLeadingTrackUE");
131   AliUEHistograms* h = (AliUEHistograms*) list->FindObject("AliUEHistograms");
132   h->SetEtaRange(-0.79, 0.79);
133
134   if (what == 0)
135     eff = (TH2*) h->GetNumberDensitypT()->GetTrackEfficiency(AliUEHist::kCFStepAnaTopology, AliUEHist::kCFStepTrackedOnlyPrim, 0, 1);
136   else
137     eff = (TH2*) h->GetNumberDensitypT()->GetTrackingContamination();
138
139   eff->Draw("colz");
140 }
141
142 void PlotSystUncertainties()
143 {
144   //
145 }
146