]>
Commit | Line | Data |
---|---|---|
c014f07d | 1 | void checkThr(const char *filename, const char *what="") |
2 | { | |
3 | TFile *f = TFile::Open(filename); | |
4 | TList *list = (TList*)f->Get("coutput"); | |
5 | ||
6 | TH1F *h3 = (TH1F*)list->FindObject("fV0Percent"); | |
7 | ||
8 | TH1F *hCent; | |
9 | TH1F *hCentAll; | |
10 | TH1F *hSemiCent; | |
11 | TH1F *hSemiCentAll; | |
12 | Double_t nentCent; | |
13 | Double_t nentCentall; | |
14 | Double_t nentSemiCent; | |
15 | Double_t nentSemiCentall; | |
16 | TF1 *ffCent; | |
17 | TF1 *ffSemiCent; | |
18 | ||
19 | hCent = (TH1F*)list->FindObject(Form("fV0Cent%s",what)); | |
20 | hCentAll = (TH1F*)list->FindObject(Form("fV0Cent%sAll",what)); | |
21 | hSemiCent = (TH1F*)list->FindObject(Form("fV0SemiCent%s",what)); | |
22 | hSemiCentAll = (TH1F*)list->FindObject(Form("fV0SemiCent%sAll",what)); | |
23 | ||
24 | nentCent = hCent->GetEntries(); | |
35d3b2cb | 25 | Double_t nCentEvts = (Double_t)hCent->Integral(hCent->FindBin(0.0),hCent->FindBin(91.0)); |
c014f07d | 26 | nentCentall = hCentAll->GetEntries(); |
27 | nentSemiCent = hSemiCent->GetEntries(); | |
35d3b2cb | 28 | Double_t nSemiCentEvts = (Double_t)hSemiCent->Integral(hSemiCent->FindBin(0.0),hSemiCent->FindBin(91.0)); |
c014f07d | 29 | nentSemiCentall = hSemiCentAll->GetEntries(); |
30 | ||
31 | hCent->Sumw2(); | |
32 | hCent->Divide(hCent,h3,1,1,"B"); | |
33 | hSemiCent->Sumw2(); | |
34 | hSemiCent->Divide(hSemiCent,h3,1,1,"B"); | |
35 | ||
36 | ffCent = new TF1("ffCent","1.-1./(1.+TMath::Exp(-(x-[0])/[1]))",0,100); | |
37 | ffCent->SetLineColor(kBlue); | |
38 | Double_t par0 = hCent->GetBinCenter(hCent->FindLastBinAbove(0.95)); | |
39 | ffCent->SetParameter(0,par0); | |
35d3b2cb | 40 | ffCent->SetParameter(1,0.3); |
c014f07d | 41 | hCent->Fit(ffCent,"R+"); |
42 | hCent->Fit(ffCent,"R+"); | |
43 | hCent->Fit(ffCent,"R+"); | |
44 | ||
45 | ffSemiCent = new TF1("ffSemiCent","1.-1./(1.+TMath::Exp(-(x-[0])/[1]))",0,100); | |
46 | ffSemiCent->SetLineColor(kRed); | |
47 | par0 = hSemiCent->GetBinCenter(hSemiCent->FindLastBinAbove(0.95)); | |
48 | ffSemiCent->SetParameter(0,par0); | |
35d3b2cb | 49 | ffSemiCent->SetParameter(1,0.3); |
c014f07d | 50 | hSemiCent->Fit(ffSemiCent,"R+"); |
51 | hSemiCent->Fit(ffSemiCent,"R+"); | |
52 | hSemiCent->Fit(ffSemiCent,"R+"); | |
53 | ||
54 | new TCanvas; | |
55 | hSemiCent->SetLineColor(kBlue); | |
56 | hSemiCent->SetMarkerColor(kBlue); | |
57 | hCent->Draw("e"); | |
58 | hSemiCent->SetLineColor(kRed); | |
59 | hSemiCent->SetMarkerColor(kRed); | |
60 | hSemiCent->Draw("e same"); | |
61 | ||
62 | printf("\n\n\n"); | |
63 | ||
64 | printf("Purity: Centr %.3f %.3f Cuts ( 0.0-%.1f)%% rate=%.1f Hz\n", | |
65 | ffCent->Integral(0,10)/ffCent->Integral(0,100), | |
66 | ffCent->Integral(0,10)/ffCent->Integral(0,100)*nentCent/nentCentall, | |
67 | ffCent->GetX(0.99), | |
35d3b2cb | 68 | 30.*10./(ffCent->Integral(0,10)/ffCent->Integral(0,100)*nentCent/nentCentall)); |
c014f07d | 69 | printf("Purity: Semi-Centr %.3f %.3f Cuts ( 0.0-%.1f)%% rate=%.1f Hz\n", |
70 | ffSemiCent->Integral(0,50)/ffSemiCent->Integral(0,100), | |
71 | ffSemiCent->Integral(0,50)/ffSemiCent->Integral(0,100)*nentSemiCent/nentSemiCentall, | |
72 | ffSemiCent->GetX(0.99), | |
35d3b2cb | 73 | 30.*50./(ffSemiCent->Integral(0,50)/ffSemiCent->Integral(0,100)*nentSemiCent/nentSemiCentall)); |
c014f07d | 74 | |
75 | TH1F *hand = (TH1F*)list->FindObject("fV0Percent"); | |
76 | TH1F *handall = (TH1F*)list->FindObject("fV0PercentAll"); | |
77 | if (handall) { | |
78 | TH1F *hmb63 = (TH1F*)list->FindObject("fV0Percent63"); | |
79 | TH1F *hmb63all = (TH1F*)list->FindObject("fV0Percent63All"); | |
80 | printf("V0AND: purity=%f %%\n",hand->Integral(0,hand->FindBin(90.))/(Float_t)handall->GetEntries()*100.); | |
81 | printf(" MB63: purity=%f %% eff=%f %%\n",hmb63->Integral(0,hmb63->FindBin(90.))/hmb63all->GetEntries()*100.,hmb63->Integral(0,hmb63->FindBin(90.))/hand->Integral(0,hand->FindBin(90.))*100.); | |
82 | hmb63->Sumw2(); | |
83 | hmb63->Divide(hmb63,hand,1,1,"B"); | |
84 | new TCanvas; | |
85 | hmb63->SetStats(0); | |
86 | hmb63->SetTitle("MultA+MultC>=63 efficiency as a function of centrality percentile"); | |
87 | hmb63->Draw(); | |
88 | } | |
89 | } |