]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/CalibMacros/CalibTime.C
Update variable description file
[u/mrichter/AliRoot.git] / TPC / CalibMacros / CalibTime.C
CommitLineData
2be25cc9 1
2
3gSystem->Load("libANALYSIS");
4gSystem->Load("libSTAT");
5gSystem->Load("libTPCcalib");
6
7
8TFile f("CalibObjects.root");
9AliTPCcalibTime *calibTime = (AliTPCcalibTime *)f->Get("TPCCalib")->FindObject("calibTime");
10
11
12TPair * addPair= calibTime->GetMapDz()->FindObject(" D0SCO ");
13THnSparse* addHist=dynamic_cast<THnSparseF*>(addPair->Value());
14
15
16//
17TGraph * gr = AliTPCcalibBase::FitSlices(addHist,2,0,100,100);
18gr->SetMarkerColor(2);
19gr->Draw("same*");
20//Make Fit
21
22AliSplineFit fit;
23fit.SetGraph(gr)
24fit->SetMinPoints(gr->GetN()+1);
25fit->InitKnots(gr,2,0,0.001)
26fit.SplineFit(0)
27TGraph * grfit = fit.MakeGraph(gr->GetX()[0],gr->GetX()[gr->GetN()-1],50000,0);
28gr->SetMarkerStyle(25);
29//gr->Draw("alp");
30grfit->SetLineColor(2);
31grfit->Draw("lu");
32
33
34
35
36
37
38
39
40
41
42/*
43
44 Macro to visualize and analyze time dependent variables
45 //
46 .L $ALICE_ROOT/TPC/CalibMacros/CalibTime.C
47 //
48 // 1. Init - Load libraries tools
49 Init()
50 // 2. Load debug streamers
51 InitChains()
52
53*/
54
55
56//
57// Chain Based analysis
58//
59
60
61TChain * chainLaser=0, *chainDz=0, *chaindEdx=0;
62
63void Init(){
64 // Load neccesary libraries
65 gSystem->Load("libANALYSIS");
66 gSystem->Load("libSTAT");
67 gSystem->Load("libTPCcalib");
68 gROOT->Macro("~/NimStyle.C");
69 gSystem->AddIncludePath("-I$ALICE_ROOT/TPC/macros");
70 gROOT->LoadMacro("$ALICE_ROOT/TPC/macros/AliXRDPROOFtoolkit.cxx+");
71}
72
73void InitChains(){
74 AliXRDPROOFtoolkit tool;
75 //load debug streams
76 chainLaser = tool.MakeChain("time.txt","laserInfo",0,10200);
77 chainLaser->Lookup();
78 // cosmic dZ - drfit velocity part
79 chainDz = tool.MakeChain("time.txt","cosmicDz",0,10200);
80 chainDz->Lookup();
81 //
82 // cosmic dE - drift velocity part
83 chaindEdx = tool.MakeChain("time.txt","cosmicdEdx",0,10200);
84 chaindEdx->Lookup();
85 //
86 // Set Alias
87 //
88 chaindEdx->SetAlias("side","(-1+(p0.fP[1]>0)*2)");
89 chaindEdx->SetAlias("der","side*(dedx0-dedx1)/(dedx0+dedx1)");
90 chaindEdx->SetAlias("derIO","side*(dedx0Out-dedx0In)/(dedx0In+dedx0Out)");
91 chaindEdx->SetAlias("dr","(1-abs(p0.fP[1]/250))");
92 chaindEdx->SetAlias("isOK","dedx0In>0&&dedx0Out>0&&dedx1In>0&&dedx1Out>0");
93 chaindEdx->SetAlias("dedxM","(dedx0+dedx1)*0.5");
94
95}
96
97
98void MakeTglFitCosmic(){
99 // Fit the z correction factor
100 TStatToolkit toolkit;
101 Double_t chi2=0;
102 Int_t npoints=0;
103 TVectorD fitParamC,fitParamIO;
104 TMatrixD covMatrix;
105 //
106 // dedx delta
107 //
108 TString fstring="";
109 fstring+="side++";
110 fstring+="p0.fP[3]++";
111 //fstring+="p0.fP[3]*dr++";
112 TString *strTheta = toolkit.FitPlane(chaindEdx,"der",fstring->Data(), "isOK", chi2,npoints,fitParamC,covMatrix);
113 chaindEdx->SetAlias("derc",strTheta.Data());
114 strTheta->Tokenize("+")->Print();
115 //
116 // dedx delta
117 //
118 fstring="";
119 fstring+="side++";
120 fstring+="p0.fP[3]++";
121 //fstring+="p0.fP[3]*dr++";
122 TString *strTheta = toolkit.FitPlane(chaindEdx,"derIO",fstring->Data(), "isOK", chi2,npoints,fitParamIO,covMatrix);
123 chaindEdx->SetAlias("derIOc",strTheta.Data());
124 strTheta->Tokenize("+")->Print();
125 //
126 // Make Plot
127 //
128 chaindEdx->Draw("der:p0.fP[3]>>his(20,-0.5,0.5)","","prof");
129 chaindEdx->Draw("der-derc:p0.fP[3]>>hisC(20,-0.5,0.5)","","prof");
130 his->SetXTitle("tan(#theta)");
131 his->SetYTitle("(Q_{u}-Q_{d})/(Q_{u}+Q_{d})");
132 his->Draw("");
133 hisC->Draw("same");
134}
135
136
137void MakeTglFitCosmic(){
138 //
139 //
140 //
141 TStatToolkit toolkit;
142 Double_t chi2=0;
143 Int_t npoints=0;
144 TVectorD fitParamC,fitParamIO;
145 TMatrixD covMatrix;
146 TString fstring="";
147 fstring="";
148 fstring+="ppit++";
149 fstring+="(trigger==1)++";
150 fstring+="(trigger==2)++";
151 fstring+="(trigger==4)++";
152 fstring+="(trigger==8)++";
153 TString *strPress = toolkit.FitPlane(chaindEdx,"(dedx0+dedx1)*0.5",fstring->Data(), "isOK", chi2,npoints,fitParamIO,covMatrix);
154 //
155 //
156 chaindEdx->SetAlias("de",strTheta.Data());
157 strTheta->Tokenize("+")->Print();
158
159
160}