#include "TAxis.h"
#include "TFile.h"
#include "TH2.h"
#include "TString.h"
#include "AliQuarkoniaAcceptance.h"
#include "AliLog.h"
AliQuarkoniaAcceptance::AliQuarkoniaAcceptance(Int_t quarkoniaResonance, Int_t decayChannel):
fAcceptanceFileName("$ALICE_ROOT/PWG3/QuarkoniaAcceptance.root"),
fQuarkoniaResonance(quarkoniaResonance),
fDecayChannel(decayChannel),
fAcceptance(0x0)
{
}
AliQuarkoniaAcceptance::~AliQuarkoniaAcceptance()
{
delete fAcceptance;
}
void AliQuarkoniaAcceptance::Init()
{
switch (fQuarkoniaResonance) {
case kJpsi:
SetTitle("Jpsi");
break;
case kPsiP:
SetTitle("PsiP");
break;
case kUpsilon:
SetTitle("Upsilon");
break;
case kUpsilonP:
SetTitle("UpsilonP");
break;
case kUpsilonPP:
SetTitle("UpsilonPP");
break;
case kOmega:
SetTitle("Omega");
break;
case kPhi:
SetTitle("Phi");
break;
}
switch ( fDecayChannel) {
case kDimuon:
SetName("Dimuon");
break;
case kDielectron:
SetName("Dielectron");
break;
}
if(!fAcceptance) delete fAcceptance;
TFile acceptanceFile(fAcceptanceFileName);
if ( acceptanceFile.IsOpen() ) {
char histoname[30];
snprintf(histoname,30,"h%s%sAccep",GetTitle(),GetName());
fAcceptance = (TH2F*) acceptanceFile.Get(histoname);
if ( !fAcceptance ) {
AliError(Form("Acceptance data for quarkonia %s and channel %s not found", GetTitle(), GetName() ));
}
else {
fAcceptance->SetDirectory(0);
}
acceptanceFile.Close();
}
else {
AliError(Form("File %s not found",fAcceptanceFileName.Data()));
}
}
TH2F* AliQuarkoniaAcceptance::GetAcceptanceHisto() const
{
if (fAcceptance) return fAcceptance;
else {
AliError(Form("Acceptance data for quarkonia %s and channel %s not found",GetTitle(),GetName()));
return 0x0;
}
}
void AliQuarkoniaAcceptance::GetAcceptance(Float_t rap, Float_t pT, Double_t &accep, Double_t &error)
{
Int_t binx=0;
Int_t biny=0;
if (!fAcceptance) {
AliError(Form("Acceptance data for quarkonia %s and channel %s not found",GetTitle(),GetName()));
}
else {
if ( rap < (fAcceptance->GetXaxis())->GetXmin() ||
rap > (fAcceptance->GetXaxis())->GetXmax() ||
pT < (fAcceptance->GetYaxis())->GetXmin() ||
pT > (fAcceptance->GetYaxis())->GetXmax() ) {
AliInfo("Values out of range");
accep = 0.;
error = 0.;
}
else {
binx = fAcceptance->GetXaxis()->FindBin(rap);
biny = fAcceptance->GetYaxis()->FindBin(pT);
accep = fAcceptance->GetBinContent(binx,biny);
error = fAcceptance->GetBinError(binx,biny);
}
}
}
AliQuarkoniaAcceptance.cxx:1 AliQuarkoniaAcceptance.cxx:2 AliQuarkoniaAcceptance.cxx:3 AliQuarkoniaAcceptance.cxx:4 AliQuarkoniaAcceptance.cxx:5 AliQuarkoniaAcceptance.cxx:6 AliQuarkoniaAcceptance.cxx:7 AliQuarkoniaAcceptance.cxx:8 AliQuarkoniaAcceptance.cxx:9 AliQuarkoniaAcceptance.cxx:10 AliQuarkoniaAcceptance.cxx:11 AliQuarkoniaAcceptance.cxx:12 AliQuarkoniaAcceptance.cxx:13 AliQuarkoniaAcceptance.cxx:14 AliQuarkoniaAcceptance.cxx:15 AliQuarkoniaAcceptance.cxx:16 AliQuarkoniaAcceptance.cxx:17 AliQuarkoniaAcceptance.cxx:18 AliQuarkoniaAcceptance.cxx:19 AliQuarkoniaAcceptance.cxx:20 AliQuarkoniaAcceptance.cxx:21 AliQuarkoniaAcceptance.cxx:22 AliQuarkoniaAcceptance.cxx:23 AliQuarkoniaAcceptance.cxx:24 AliQuarkoniaAcceptance.cxx:25 AliQuarkoniaAcceptance.cxx:26 AliQuarkoniaAcceptance.cxx:27 AliQuarkoniaAcceptance.cxx:28 AliQuarkoniaAcceptance.cxx:29 AliQuarkoniaAcceptance.cxx:30 AliQuarkoniaAcceptance.cxx:31 AliQuarkoniaAcceptance.cxx:32 AliQuarkoniaAcceptance.cxx:33 AliQuarkoniaAcceptance.cxx:34 AliQuarkoniaAcceptance.cxx:35 AliQuarkoniaAcceptance.cxx:36 AliQuarkoniaAcceptance.cxx:37 AliQuarkoniaAcceptance.cxx:38 AliQuarkoniaAcceptance.cxx:39 AliQuarkoniaAcceptance.cxx:40 AliQuarkoniaAcceptance.cxx:41 AliQuarkoniaAcceptance.cxx:42 AliQuarkoniaAcceptance.cxx:43 AliQuarkoniaAcceptance.cxx:44 AliQuarkoniaAcceptance.cxx:45 AliQuarkoniaAcceptance.cxx:46 AliQuarkoniaAcceptance.cxx:47 AliQuarkoniaAcceptance.cxx:48 AliQuarkoniaAcceptance.cxx:49 AliQuarkoniaAcceptance.cxx:50 AliQuarkoniaAcceptance.cxx:51 AliQuarkoniaAcceptance.cxx:52 AliQuarkoniaAcceptance.cxx:53 AliQuarkoniaAcceptance.cxx:54 AliQuarkoniaAcceptance.cxx:55 AliQuarkoniaAcceptance.cxx:56 AliQuarkoniaAcceptance.cxx:57 AliQuarkoniaAcceptance.cxx:58 AliQuarkoniaAcceptance.cxx:59 AliQuarkoniaAcceptance.cxx:60 AliQuarkoniaAcceptance.cxx:61 AliQuarkoniaAcceptance.cxx:62 AliQuarkoniaAcceptance.cxx:63 AliQuarkoniaAcceptance.cxx:64 AliQuarkoniaAcceptance.cxx:65 AliQuarkoniaAcceptance.cxx:66 AliQuarkoniaAcceptance.cxx:67 AliQuarkoniaAcceptance.cxx:68 AliQuarkoniaAcceptance.cxx:69 AliQuarkoniaAcceptance.cxx:70 AliQuarkoniaAcceptance.cxx:71 AliQuarkoniaAcceptance.cxx:72 AliQuarkoniaAcceptance.cxx:73 AliQuarkoniaAcceptance.cxx:74 AliQuarkoniaAcceptance.cxx:75 AliQuarkoniaAcceptance.cxx:76 AliQuarkoniaAcceptance.cxx:77 AliQuarkoniaAcceptance.cxx:78 AliQuarkoniaAcceptance.cxx:79 AliQuarkoniaAcceptance.cxx:80 AliQuarkoniaAcceptance.cxx:81 AliQuarkoniaAcceptance.cxx:82 AliQuarkoniaAcceptance.cxx:83 AliQuarkoniaAcceptance.cxx:84 AliQuarkoniaAcceptance.cxx:85 AliQuarkoniaAcceptance.cxx:86 AliQuarkoniaAcceptance.cxx:87 AliQuarkoniaAcceptance.cxx:88 AliQuarkoniaAcceptance.cxx:89 AliQuarkoniaAcceptance.cxx:90 AliQuarkoniaAcceptance.cxx:91 AliQuarkoniaAcceptance.cxx:92 AliQuarkoniaAcceptance.cxx:93 AliQuarkoniaAcceptance.cxx:94 AliQuarkoniaAcceptance.cxx:95 AliQuarkoniaAcceptance.cxx:96 AliQuarkoniaAcceptance.cxx:97 AliQuarkoniaAcceptance.cxx:98 AliQuarkoniaAcceptance.cxx:99 AliQuarkoniaAcceptance.cxx:100 AliQuarkoniaAcceptance.cxx:101 AliQuarkoniaAcceptance.cxx:102 AliQuarkoniaAcceptance.cxx:103 AliQuarkoniaAcceptance.cxx:104 AliQuarkoniaAcceptance.cxx:105 AliQuarkoniaAcceptance.cxx:106 AliQuarkoniaAcceptance.cxx:107 AliQuarkoniaAcceptance.cxx:108 AliQuarkoniaAcceptance.cxx:109 AliQuarkoniaAcceptance.cxx:110 AliQuarkoniaAcceptance.cxx:111 AliQuarkoniaAcceptance.cxx:112 AliQuarkoniaAcceptance.cxx:113 AliQuarkoniaAcceptance.cxx:114 AliQuarkoniaAcceptance.cxx:115 AliQuarkoniaAcceptance.cxx:116 AliQuarkoniaAcceptance.cxx:117 AliQuarkoniaAcceptance.cxx:118 AliQuarkoniaAcceptance.cxx:119 AliQuarkoniaAcceptance.cxx:120