#include "AliCentralCorrAcceptance.h"
#include <TBrowser.h>
#include <TH1D.h>
#include <AliLog.h>
#include <iostream>
AliCentralCorrAcceptance::AliCentralCorrAcceptance()
: fArray(),
fVertexAxis(0,0,0)
{
fArray.SetOwner(kTRUE);
fArray.SetName("acceptance");
fVertexAxis.SetName("vtxAxis");
fVertexAxis.SetTitle("v_{z} [cm]");
}
AliCentralCorrAcceptance::AliCentralCorrAcceptance(const
AliCentralCorrAcceptance& o)
: TObject(o),
fArray(o.fArray),
fVertexAxis(o.fVertexAxis.GetNbins(), o.fVertexAxis.GetXmin(),
o.fVertexAxis.GetXmax())
{
fVertexAxis.SetName("vtxAxis");
fVertexAxis.SetTitle("v_{z} [cm]");
}
AliCentralCorrAcceptance::~AliCentralCorrAcceptance()
{
fArray.Clear();
}
AliCentralCorrAcceptance&
AliCentralCorrAcceptance::operator=(const AliCentralCorrAcceptance& o)
{
fArray = o.fArray;
SetVertexAxis(o.fVertexAxis);
return *this;
}
TH1D*
AliCentralCorrAcceptance::GetCorrection(Double_t v) const
{
Int_t b = FindVertexBin(v);
if (b <= 0) return 0;
return GetCorrection(UShort_t(b));
}
TH1D*
AliCentralCorrAcceptance::GetCorrection(UShort_t b) const
{
if (b <= 0 || b > fArray.GetEntriesFast()) {
AliWarning(Form("vertex bin %d out of range [1,%d]",
b, fArray.GetEntriesFast()));
return 0;
}
TObject* o = fArray.At(b-1);
if (!o) {
AliWarning(Form("No dead channels map found for SPD in vertex bin %d",
b));
return 0;
}
return static_cast<TH1D*>(o);
}
Int_t
AliCentralCorrAcceptance::FindVertexBin(Double_t v) const
{
if (fVertexAxis.GetNbins() <= 0) {
AliWarning("No vertex array defined");
return 0;
}
Int_t bin = const_cast<TAxis&>(fVertexAxis).FindBin(v);
if (bin <= 0 || bin > fVertexAxis.GetNbins()) {
AliWarning(Form("vertex %+8.4f out of range [%+8.4f,%+8.4f]",
v, fVertexAxis.GetXmin(), fVertexAxis.GetXmax()));
return 0;
}
return bin;
}
Bool_t
AliCentralCorrAcceptance::SetCorrection(UShort_t b, TH1D* h)
{
if (b <= 0 || b > fVertexAxis.GetNbins()) {
AliWarning(Form("Vertex bin %3d out of range [1,%3d]",
b, fVertexAxis.GetNbins()));
return false;
}
h->SetName(Form("acc_vtxbin%03d", b));
h->SetTitle(Form("Acceptance correction [%+5.1f<v_{z}<%+5.1f]",
fVertexAxis.GetBinLowEdge(b),
fVertexAxis.GetBinUpEdge(b)));
h->SetXTitle("#eta");
h->SetYTitle("dN_{ch}/d#eta / sum_i N_{ch,i}");
h->SetFillStyle(3001);
h->SetDirectory(0);
h->SetStats(0);
fArray.AddAtAndExpand(h, b-1);
return kTRUE;
}
Bool_t
AliCentralCorrAcceptance::SetCorrection(Double_t v, TH1D* h)
{
Int_t b = FindVertexBin(v);
if (b <= 0 || b > fVertexAxis.GetNbins()) {
AliWarning(Form("Vertex %+8.4f out of range [%+8.4f,%+8.4f]",
v, fVertexAxis.GetXmin(), fVertexAxis.GetXmax()));
return false;
}
return SetCorrection(UShort_t(b), h);
}
void
AliCentralCorrAcceptance::Browse(TBrowser* b)
{
b->Add(&fArray);
b->Add(&fVertexAxis);
}
void
AliCentralCorrAcceptance::Print(Option_t* ) const
{
std::cout << " Acceptance correction due to dead channels"
<< " # of vertex bins: " << fVertexAxis.GetNbins() << "\n"
<< " Vertex range: [" << fVertexAxis.GetXmin()
<< "," << fVertexAxis.GetXmax() << "]\n"
<< " Histograms:\n"
<< " ";
TIter next(&fArray);
TObject* o = 0;
while ((o = next())) std::cout << o->GetName() << " ";
std::cout << std::endl;
}
AliCentralCorrAcceptance.cxx:1 AliCentralCorrAcceptance.cxx:2 AliCentralCorrAcceptance.cxx:3 AliCentralCorrAcceptance.cxx:4 AliCentralCorrAcceptance.cxx:5 AliCentralCorrAcceptance.cxx:6 AliCentralCorrAcceptance.cxx:7 AliCentralCorrAcceptance.cxx:8 AliCentralCorrAcceptance.cxx:9 AliCentralCorrAcceptance.cxx:10 AliCentralCorrAcceptance.cxx:11 AliCentralCorrAcceptance.cxx:12 AliCentralCorrAcceptance.cxx:13 AliCentralCorrAcceptance.cxx:14 AliCentralCorrAcceptance.cxx:15 AliCentralCorrAcceptance.cxx:16 AliCentralCorrAcceptance.cxx:17 AliCentralCorrAcceptance.cxx:18 AliCentralCorrAcceptance.cxx:19 AliCentralCorrAcceptance.cxx:20 AliCentralCorrAcceptance.cxx:21 AliCentralCorrAcceptance.cxx:22 AliCentralCorrAcceptance.cxx:23 AliCentralCorrAcceptance.cxx:24 AliCentralCorrAcceptance.cxx:25 AliCentralCorrAcceptance.cxx:26 AliCentralCorrAcceptance.cxx:27 AliCentralCorrAcceptance.cxx:28 AliCentralCorrAcceptance.cxx:29 AliCentralCorrAcceptance.cxx:30 AliCentralCorrAcceptance.cxx:31 AliCentralCorrAcceptance.cxx:32 AliCentralCorrAcceptance.cxx:33 AliCentralCorrAcceptance.cxx:34 AliCentralCorrAcceptance.cxx:35 AliCentralCorrAcceptance.cxx:36 AliCentralCorrAcceptance.cxx:37 AliCentralCorrAcceptance.cxx:38 AliCentralCorrAcceptance.cxx:39 AliCentralCorrAcceptance.cxx:40 AliCentralCorrAcceptance.cxx:41 AliCentralCorrAcceptance.cxx:42 AliCentralCorrAcceptance.cxx:43 AliCentralCorrAcceptance.cxx:44 AliCentralCorrAcceptance.cxx:45 AliCentralCorrAcceptance.cxx:46 AliCentralCorrAcceptance.cxx:47 AliCentralCorrAcceptance.cxx:48 AliCentralCorrAcceptance.cxx:49 AliCentralCorrAcceptance.cxx:50 AliCentralCorrAcceptance.cxx:51 AliCentralCorrAcceptance.cxx:52 AliCentralCorrAcceptance.cxx:53 AliCentralCorrAcceptance.cxx:54 AliCentralCorrAcceptance.cxx:55 AliCentralCorrAcceptance.cxx:56 AliCentralCorrAcceptance.cxx:57 AliCentralCorrAcceptance.cxx:58 AliCentralCorrAcceptance.cxx:59 AliCentralCorrAcceptance.cxx:60 AliCentralCorrAcceptance.cxx:61 AliCentralCorrAcceptance.cxx:62 AliCentralCorrAcceptance.cxx:63 AliCentralCorrAcceptance.cxx:64 AliCentralCorrAcceptance.cxx:65 AliCentralCorrAcceptance.cxx:66 AliCentralCorrAcceptance.cxx:67 AliCentralCorrAcceptance.cxx:68 AliCentralCorrAcceptance.cxx:69 AliCentralCorrAcceptance.cxx:70 AliCentralCorrAcceptance.cxx:71 AliCentralCorrAcceptance.cxx:72 AliCentralCorrAcceptance.cxx:73 AliCentralCorrAcceptance.cxx:74 AliCentralCorrAcceptance.cxx:75 AliCentralCorrAcceptance.cxx:76 AliCentralCorrAcceptance.cxx:77 AliCentralCorrAcceptance.cxx:78 AliCentralCorrAcceptance.cxx:79 AliCentralCorrAcceptance.cxx:80 AliCentralCorrAcceptance.cxx:81 AliCentralCorrAcceptance.cxx:82 AliCentralCorrAcceptance.cxx:83 AliCentralCorrAcceptance.cxx:84 AliCentralCorrAcceptance.cxx:85 AliCentralCorrAcceptance.cxx:86 AliCentralCorrAcceptance.cxx:87 AliCentralCorrAcceptance.cxx:88 AliCentralCorrAcceptance.cxx:89 AliCentralCorrAcceptance.cxx:90 AliCentralCorrAcceptance.cxx:91 AliCentralCorrAcceptance.cxx:92 AliCentralCorrAcceptance.cxx:93 AliCentralCorrAcceptance.cxx:94 AliCentralCorrAcceptance.cxx:95 AliCentralCorrAcceptance.cxx:96 AliCentralCorrAcceptance.cxx:97 AliCentralCorrAcceptance.cxx:98 AliCentralCorrAcceptance.cxx:99 AliCentralCorrAcceptance.cxx:100 AliCentralCorrAcceptance.cxx:101 AliCentralCorrAcceptance.cxx:102 AliCentralCorrAcceptance.cxx:103 AliCentralCorrAcceptance.cxx:104 AliCentralCorrAcceptance.cxx:105 AliCentralCorrAcceptance.cxx:106 AliCentralCorrAcceptance.cxx:107 AliCentralCorrAcceptance.cxx:108 AliCentralCorrAcceptance.cxx:109 AliCentralCorrAcceptance.cxx:110 AliCentralCorrAcceptance.cxx:111 AliCentralCorrAcceptance.cxx:112 AliCentralCorrAcceptance.cxx:113 AliCentralCorrAcceptance.cxx:114 AliCentralCorrAcceptance.cxx:115 AliCentralCorrAcceptance.cxx:116 AliCentralCorrAcceptance.cxx:117 AliCentralCorrAcceptance.cxx:118 AliCentralCorrAcceptance.cxx:119 AliCentralCorrAcceptance.cxx:120 AliCentralCorrAcceptance.cxx:121 AliCentralCorrAcceptance.cxx:122 AliCentralCorrAcceptance.cxx:123 AliCentralCorrAcceptance.cxx:124 AliCentralCorrAcceptance.cxx:125 AliCentralCorrAcceptance.cxx:126 AliCentralCorrAcceptance.cxx:127 AliCentralCorrAcceptance.cxx:128 AliCentralCorrAcceptance.cxx:129 AliCentralCorrAcceptance.cxx:130 AliCentralCorrAcceptance.cxx:131 AliCentralCorrAcceptance.cxx:132 AliCentralCorrAcceptance.cxx:133 AliCentralCorrAcceptance.cxx:134 AliCentralCorrAcceptance.cxx:135 AliCentralCorrAcceptance.cxx:136 AliCentralCorrAcceptance.cxx:137 AliCentralCorrAcceptance.cxx:138 AliCentralCorrAcceptance.cxx:139 AliCentralCorrAcceptance.cxx:140 AliCentralCorrAcceptance.cxx:141 AliCentralCorrAcceptance.cxx:142 AliCentralCorrAcceptance.cxx:143 AliCentralCorrAcceptance.cxx:144 AliCentralCorrAcceptance.cxx:145 AliCentralCorrAcceptance.cxx:146 AliCentralCorrAcceptance.cxx:147 AliCentralCorrAcceptance.cxx:148 AliCentralCorrAcceptance.cxx:149 AliCentralCorrAcceptance.cxx:150 AliCentralCorrAcceptance.cxx:151 AliCentralCorrAcceptance.cxx:152 AliCentralCorrAcceptance.cxx:153 AliCentralCorrAcceptance.cxx:154 AliCentralCorrAcceptance.cxx:155 AliCentralCorrAcceptance.cxx:156 AliCentralCorrAcceptance.cxx:157 AliCentralCorrAcceptance.cxx:158 AliCentralCorrAcceptance.cxx:159 AliCentralCorrAcceptance.cxx:160 AliCentralCorrAcceptance.cxx:161 AliCentralCorrAcceptance.cxx:162 AliCentralCorrAcceptance.cxx:163 AliCentralCorrAcceptance.cxx:164 AliCentralCorrAcceptance.cxx:165 AliCentralCorrAcceptance.cxx:166 AliCentralCorrAcceptance.cxx:167 AliCentralCorrAcceptance.cxx:168 AliCentralCorrAcceptance.cxx:169 AliCentralCorrAcceptance.cxx:170 AliCentralCorrAcceptance.cxx:171 AliCentralCorrAcceptance.cxx:172 AliCentralCorrAcceptance.cxx:173 AliCentralCorrAcceptance.cxx:174 AliCentralCorrAcceptance.cxx:175 AliCentralCorrAcceptance.cxx:176 AliCentralCorrAcceptance.cxx:177 AliCentralCorrAcceptance.cxx:178 AliCentralCorrAcceptance.cxx:179 AliCentralCorrAcceptance.cxx:180 AliCentralCorrAcceptance.cxx:181 AliCentralCorrAcceptance.cxx:182 AliCentralCorrAcceptance.cxx:183 AliCentralCorrAcceptance.cxx:184 AliCentralCorrAcceptance.cxx:185 AliCentralCorrAcceptance.cxx:186 AliCentralCorrAcceptance.cxx:187 AliCentralCorrAcceptance.cxx:188 AliCentralCorrAcceptance.cxx:189 AliCentralCorrAcceptance.cxx:190 AliCentralCorrAcceptance.cxx:191 AliCentralCorrAcceptance.cxx:192 AliCentralCorrAcceptance.cxx:193 AliCentralCorrAcceptance.cxx:194 AliCentralCorrAcceptance.cxx:195 AliCentralCorrAcceptance.cxx:196 AliCentralCorrAcceptance.cxx:197 AliCentralCorrAcceptance.cxx:198 AliCentralCorrAcceptance.cxx:199 AliCentralCorrAcceptance.cxx:200 AliCentralCorrAcceptance.cxx:201 AliCentralCorrAcceptance.cxx:202 AliCentralCorrAcceptance.cxx:203 AliCentralCorrAcceptance.cxx:204 AliCentralCorrAcceptance.cxx:205 AliCentralCorrAcceptance.cxx:206 AliCentralCorrAcceptance.cxx:207 AliCentralCorrAcceptance.cxx:208 AliCentralCorrAcceptance.cxx:209 AliCentralCorrAcceptance.cxx:210 AliCentralCorrAcceptance.cxx:211 AliCentralCorrAcceptance.cxx:212 AliCentralCorrAcceptance.cxx:213 AliCentralCorrAcceptance.cxx:214 AliCentralCorrAcceptance.cxx:215 AliCentralCorrAcceptance.cxx:216 AliCentralCorrAcceptance.cxx:217 AliCentralCorrAcceptance.cxx:218 AliCentralCorrAcceptance.cxx:219 AliCentralCorrAcceptance.cxx:220 AliCentralCorrAcceptance.cxx:221 AliCentralCorrAcceptance.cxx:222 AliCentralCorrAcceptance.cxx:223 AliCentralCorrAcceptance.cxx:224 AliCentralCorrAcceptance.cxx:225 AliCentralCorrAcceptance.cxx:226 AliCentralCorrAcceptance.cxx:227 AliCentralCorrAcceptance.cxx:228 AliCentralCorrAcceptance.cxx:229 AliCentralCorrAcceptance.cxx:230 AliCentralCorrAcceptance.cxx:231 AliCentralCorrAcceptance.cxx:232 AliCentralCorrAcceptance.cxx:233 AliCentralCorrAcceptance.cxx:234 AliCentralCorrAcceptance.cxx:235 AliCentralCorrAcceptance.cxx:236 AliCentralCorrAcceptance.cxx:237 AliCentralCorrAcceptance.cxx:238 AliCentralCorrAcceptance.cxx:239 AliCentralCorrAcceptance.cxx:240 AliCentralCorrAcceptance.cxx:241 AliCentralCorrAcceptance.cxx:242 AliCentralCorrAcceptance.cxx:243 AliCentralCorrAcceptance.cxx:244 AliCentralCorrAcceptance.cxx:245 AliCentralCorrAcceptance.cxx:246