]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/dielectron/macros/PlotDataResults.C
Bug corrected.
[u/mrichter/AliRoot.git] / PWG3 / dielectron / macros / PlotDataResults.C
CommitLineData
2a14a7b1 1#include <TROOT.h>
2#include <TStyle.h>
3#include <TH1D.h>
4#include <TObjArray.h>
5#include <TCanvas.h>
6#include <TMath.h>
7#include <TAxis.h>
8
9#include "AliDielectronSignalExt.h"
10#include "AliDielectronCFdraw.h"
11#include "AliDielectron.h"
12
13/*
14gSystem->AddIncludePath("-I/data/Work/software/svngsi/dielectron/trunk/dielectron");
15.L PlotDataResults.C+g
16PlotDataResuts("/data/Work/train/V005.data/2010-10-29_2144.3552/mergedPeriods/data/7TeV/LHC10c.pass2/jpsi.root");
17PlotDataResuts("/data/Work/train/V005.data/2010-10-21_2342.3445/mergedPeriods/data/7TeV/LHC10pass2/jpsi.root")
18PlotDataResuts("/data/Work/train/V005.data/2010-10-21_2342.3445/mergedPeriods/data/7TeV/LHC10d.pass1/wiechula_jpsi.root");
19*/
20
21AliDielectronSignalBase* GetSignalLS(AliDielectronCFdraw &d, Int_t step, const char* nameAdd);
22AliDielectronSignalBase* GetSignalRot(AliDielectronCFdraw &d, Int_t step, const char* nameAdd);
23void DrawSpectra(AliDielectronSignalBase *sig, const char* cname);
24
25//_______________________________________
26void PlotDataResuts(const char* filename)
27{
28 AliDielectronCFdraw d(filename);
29
30 Int_t stepFirst=0, stepAny=1;
31
32 gStyle->SetOptStat(0);
33 //Set common Ranges
34// d.SetRangeUser("Leg1_Pt",1.,1000.);
35// d.SetRangeUser("Leg2_Pt",1.,1000.);
36
37 //============================
38 //SPD first
39 //
40
41 //--- Like sign subtraction
42 AliDielectronSignalBase *sigFirst=GetSignalLS(d,stepFirst,"First");
43 DrawSpectra(sigFirst,"cFirst");
44 //--- Rotation subtraction
45 AliDielectronSignalBase *sigFirstRot=GetSignalRot(d,stepFirst,"FirstRot");
46 DrawSpectra(sigFirstRot,"cFirstRot");
47
48 //============================
49 //SPD any
50 //
51 AliDielectronSignalBase *sigAny=GetSignalLS(d,stepAny,"Any");
52 DrawSpectra(sigAny,"cAny");
53 //--- Rotation subtraction
54 AliDielectronSignalBase *sigAnyRot=GetSignalRot(d,stepAny,"AnyRot");
55 DrawSpectra(sigAnyRot,"cAnyRot");
56
57}
58
59
60//_______________________________________
61AliDielectronSignalBase *GetSignalLS(AliDielectronCFdraw &d, Int_t step, const char* nameAdd)
62{
63 //
64 // Get Extracted signal from likesign method
65 //
66
67 TObjArray *arr=new TObjArray;
68 arr->SetOwner();
69
70 for (Int_t iType=0;iType<3;++iType){
71 d.SetRangeUser("PairType",iType,iType);
72 arr->AddAt(d.Project("M",step),iType);
73 }
74
75 AliDielectronSignalExt *sig=new AliDielectronSignalExt;
76 sig->SetIntegralRange(2.9,3.15);
77 sig->SetMethod(AliDielectronSignalBase::kLikeSign);
78 sig->Process(arr);
79
80 delete arr;
81 return sig;
82}
83
84//_______________________________________
85AliDielectronSignalBase *GetSignalRot(AliDielectronCFdraw &d, Int_t step, const char* nameAdd)
86{
87 //
88 // Get Extracted signal from likesign method
89 //
90
91 TObjArray *arr=new TObjArray;
92 arr->SetOwner();
93
94 Int_t iType=AliDielectron::kEv1PM;
95 d.SetRangeUser("PairType",iType,iType);
96 arr->AddAt(d.Project("M",step),iType);
97
98 iType=AliDielectron::kEv1PMRot;
99 d.SetRangeUser("PairType",iType,iType);
100 arr->AddAt(d.Project("M",step),iType);
101
102 AliDielectronSignalExt *sig=new AliDielectronSignalExt;
103 sig->SetIntegralRange(2.9,3.15);
104 sig->SetMethod(AliDielectronSignalBase::kRotation);
105 sig->Process(arr);
106
107 delete arr;
108 return sig;
109}
110
111//_______________________________________
112void DrawSpectra(AliDielectronSignalBase *sig, const char* cname)
113{
114 //
115 //
116 //
117 gStyle->SetOptTitle(0);
118 TCanvas *c=(TCanvas*)gROOT->FindObject(cname);
119 if (!c) c=new TCanvas(cname,cname,400,600);
120 c->Clear();
121 c->Divide(1,2,0,0);
122 c->cd(1);
123 gPad->SetTopMargin(0.01);
124 gPad->SetRightMargin(0.01);
125
126 gPad->SetBottomMargin(0);
127 gPad->SetGridx();
128 gPad->SetGridy();
129 gPad->SetTickx();
130 gPad->SetTicky();
131
132 TH1 *hUS=sig->GetUnlikeSignHistogram();
133 hUS->SetMarkerStyle(20);
134 hUS->SetMarkerSize(0.7);
135 hUS->SetMarkerColor(kRed);
136 hUS->SetLineColor(kRed);
137 hUS->SetStats(0);
138
139 TH1* hBackground=sig->GetBackgroundHistogram();
140 hBackground->SetMarkerStyle(24);
141 hBackground->SetMarkerSize(0.7);
142 hBackground->SetStats(0);
143 hBackground->SetMarkerColor(kBlue);
144 hBackground->SetLineColor(kBlue);
145
146 hUS->Draw();
147 hBackground->Draw("same");
148
149 c->cd(2);
150 gPad->SetRightMargin(0.01);
151 gPad->SetGridx();
152 gPad->SetGridy();
153 gPad->SetTickx();
154 gPad->SetTicky();
155 gPad->SetTopMargin(0);
156
157 TH1* hSignal=sig->GetSignalHistogram();
158 hSignal->SetMarkerStyle(20);
159 hSignal->SetMarkerSize(0.7);
160 hSignal->SetMarkerColor(kRed);
161 hSignal->SetLineColor(kRed);
162 hSignal->Draw();
163}
164