#include <TFile.h>
#include <TTree.h>
#include <TH2F.h>
#include <TH1D.h>
#include "AliZDCRecoParam.h"
#include "AliZDCRecoParamPbPb.h"
ClassImp(AliZDCRecoParamPbPb)
AliZDCRecoParamPbPb::AliZDCRecoParamPbPb() :
AliZDCRecoParam(),
fhNpartDist(0x0),
fhbDist(0x0),
fClkCenter(0)
{
}
AliZDCRecoParamPbPb::AliZDCRecoParamPbPb(TH1D *hNpart, TH1D *hb, Float_t clkCent) :
AliZDCRecoParam(),
fhNpartDist(hNpart),
fhbDist(hb),
fClkCenter(clkCent)
{
}
AliZDCRecoParamPbPb::AliZDCRecoParamPbPb(const AliZDCRecoParamPbPb &oldrecopar) :
AliZDCRecoParam(),
fhNpartDist(0x0),
fhbDist(0x0),
fClkCenter(oldrecopar.fClkCenter)
{
if(oldrecopar.fhNpartDist){
fhNpartDist = new TH1D(*oldrecopar.fhNpartDist);
fhNpartDist->SetDirectory(0);
}
if(oldrecopar.fhbDist){
fhbDist = new TH1D(*oldrecopar.fhbDist);
fhbDist->SetDirectory(0);
}
}
AliZDCRecoParamPbPb &AliZDCRecoParamPbPb::operator =(const AliZDCRecoParamPbPb &recpar)
{
this->~AliZDCRecoParamPbPb();
new(this) AliZDCRecoParamPbPb(recpar);
return *this;
}
AliZDCRecoParamPbPb::~AliZDCRecoParamPbPb()
{
if(fhNpartDist) delete fhNpartDist;
if(fhbDist) delete fhbDist;
}
void AliZDCRecoParamPbPb::SetGlauberMCDist(Float_t beamEnergy)
{
TH1::AddDirectory(0);
TH2::AddDirectory(0);
TFile *fileGlauberMC = TFile::Open("$ALICE_ROOT/ZDC/GlauberMCDist.root");
if(!fileGlauberMC) {
AliError((" Opening file $ALICE_ROOT/ZDC/GlauberMCDist.root failed\n"));
return;
}
Float_t sqrtS = 2*beamEnergy;
if(TMath::Abs(sqrtS-5500) < 100.){
AliDebug(2, " ZDC -> Looking for energy5500 in file $ALICE_ROOT/ZDC/GlauberMCDist.root");
fileGlauberMC->cd("energy5500");
fileGlauberMC->GetObject("energy5500/hbGlauber;1", fhbDist);
if(!fhbDist) AliError(" PROBLEM!!! Can't get Glauber MC b distribution from file GlauberMCDist.root\n");
fileGlauberMC->GetObject("energy5500/hNpartGlauber;1", fhNpartDist);
if(!fhNpartDist) AliError(" PROBLEM!!! Can't get Glauber MC Npart distribution from file GlauberMCDist.root\n");
}
else if(TMath::Abs(sqrtS-2760) < 100.){
AliDebug(2, " ZDC -> Looking for energy2760 in file $ALICE_ROOT/ZDC/GlauberMCDist.root");
fileGlauberMC->cd("energy2760");
fileGlauberMC->GetObject("energy2760/hbGlauber;1", fhbDist);
if(!fhbDist) AliError(" PROBLEM!!! Can't get Glauber MC b distribution from file GlauberMCDist.root\n");
fileGlauberMC->GetObject("energy2760/hNpartGlauber;1", fhNpartDist);
if(!fhNpartDist) AliError(" PROBLEM!!! Can't get Glauber MC Npart distribution from file GlauberMCDist.root\n");
}
else AliError(Form(" No AliZDCRecoParam provided for Pb-Pb @ sqrt(s) = %1.0f GeV\n", sqrtS));
fhNpartDist->SetDirectory(0);
fhbDist->SetDirectory(0);
fileGlauberMC->Close();
}
AliZDCRecoParamPbPb *AliZDCRecoParamPbPb::GetHighFluxParam(Float_t beamEnergy)
{
TH1::AddDirectory(0);
TH2::AddDirectory(0);
TFile *fileGlauberMC = TFile::Open("$ALICE_ROOT/ZDC/GlauberMCDist.root");
if(!fileGlauberMC) {
printf(" Opening file $ALICE_ROOT/ZDC/GlauberMCDist.root failed\n");
return NULL;
}
Float_t sqrtS = 2*beamEnergy;
TH1D *hNpartDist=0x0, *hbDist=0x0;
if(TMath::Abs(sqrtS-5500)<100.){
fileGlauberMC->cd("energy5500");
fileGlauberMC->GetObject("energy5500/hNpartGlauber;1", hNpartDist);
if(!hNpartDist) printf(" AliZDCRecoParamPbPb::GetHighFluxParam() PROBLEM!!! Can't get Glauber MC Npart distribution from file GlauberMCDist.root\n");
fileGlauberMC->GetObject("energy5500/hbGlauber;1", hbDist);
if(!hbDist) printf(" AliZDCRecoParamPbPb::GetHighFluxParam() PROBLEM!!! Can't get Glauber MC b distribution from file GlauberMCDist.root\n");
}
else if(TMath::Abs(sqrtS-2760)<100.){
fileGlauberMC->cd("energy2760");
fileGlauberMC->GetObject("energy2760/hNpartGlauber;1", hNpartDist);
if(!hNpartDist) printf(" PROBLEM!!! Can't get Glauber MC Npart distribution from file GlauberMCDist.root\n");
fileGlauberMC->GetObject("energy2760/hbGlauber;1", hbDist);
if(!hbDist) printf(" AliZDCRecoParamPbPb::GetHighFluxParam() PROBLEM!!! Can't get Glauber MC b distribution from file GlauberMCDist.root\n");
}
else printf(" No AliZDCRecoParam provided for Pb-Pb @ sqrt(s) = %1.0f GeV\n", sqrtS);
if(hNpartDist) hNpartDist->SetDirectory(0);
if(hbDist) hbDist->SetDirectory(0);
AliZDCRecoParamPbPb* zdcRecoParam = new AliZDCRecoParamPbPb(hNpartDist, hbDist, 0.1);
fileGlauberMC->Close();
return zdcRecoParam;
}
AliZDCRecoParamPbPb.cxx:1 AliZDCRecoParamPbPb.cxx:2 AliZDCRecoParamPbPb.cxx:3 AliZDCRecoParamPbPb.cxx:4 AliZDCRecoParamPbPb.cxx:5 AliZDCRecoParamPbPb.cxx:6 AliZDCRecoParamPbPb.cxx:7 AliZDCRecoParamPbPb.cxx:8 AliZDCRecoParamPbPb.cxx:9 AliZDCRecoParamPbPb.cxx:10 AliZDCRecoParamPbPb.cxx:11 AliZDCRecoParamPbPb.cxx:12 AliZDCRecoParamPbPb.cxx:13 AliZDCRecoParamPbPb.cxx:14 AliZDCRecoParamPbPb.cxx:15 AliZDCRecoParamPbPb.cxx:16 AliZDCRecoParamPbPb.cxx:17 AliZDCRecoParamPbPb.cxx:18 AliZDCRecoParamPbPb.cxx:19 AliZDCRecoParamPbPb.cxx:20 AliZDCRecoParamPbPb.cxx:21 AliZDCRecoParamPbPb.cxx:22 AliZDCRecoParamPbPb.cxx:23 AliZDCRecoParamPbPb.cxx:24 AliZDCRecoParamPbPb.cxx:25 AliZDCRecoParamPbPb.cxx:26 AliZDCRecoParamPbPb.cxx:27 AliZDCRecoParamPbPb.cxx:28 AliZDCRecoParamPbPb.cxx:29 AliZDCRecoParamPbPb.cxx:30 AliZDCRecoParamPbPb.cxx:31 AliZDCRecoParamPbPb.cxx:32 AliZDCRecoParamPbPb.cxx:33 AliZDCRecoParamPbPb.cxx:34 AliZDCRecoParamPbPb.cxx:35 AliZDCRecoParamPbPb.cxx:36 AliZDCRecoParamPbPb.cxx:37 AliZDCRecoParamPbPb.cxx:38 AliZDCRecoParamPbPb.cxx:39 AliZDCRecoParamPbPb.cxx:40 AliZDCRecoParamPbPb.cxx:41 AliZDCRecoParamPbPb.cxx:42 AliZDCRecoParamPbPb.cxx:43 AliZDCRecoParamPbPb.cxx:44 AliZDCRecoParamPbPb.cxx:45 AliZDCRecoParamPbPb.cxx:46 AliZDCRecoParamPbPb.cxx:47 AliZDCRecoParamPbPb.cxx:48 AliZDCRecoParamPbPb.cxx:49 AliZDCRecoParamPbPb.cxx:50 AliZDCRecoParamPbPb.cxx:51 AliZDCRecoParamPbPb.cxx:52 AliZDCRecoParamPbPb.cxx:53 AliZDCRecoParamPbPb.cxx:54 AliZDCRecoParamPbPb.cxx:55 AliZDCRecoParamPbPb.cxx:56 AliZDCRecoParamPbPb.cxx:57 AliZDCRecoParamPbPb.cxx:58 AliZDCRecoParamPbPb.cxx:59 AliZDCRecoParamPbPb.cxx:60 AliZDCRecoParamPbPb.cxx:61 AliZDCRecoParamPbPb.cxx:62 AliZDCRecoParamPbPb.cxx:63 AliZDCRecoParamPbPb.cxx:64 AliZDCRecoParamPbPb.cxx:65 AliZDCRecoParamPbPb.cxx:66 AliZDCRecoParamPbPb.cxx:67 AliZDCRecoParamPbPb.cxx:68 AliZDCRecoParamPbPb.cxx:69 AliZDCRecoParamPbPb.cxx:70 AliZDCRecoParamPbPb.cxx:71 AliZDCRecoParamPbPb.cxx:72 AliZDCRecoParamPbPb.cxx:73 AliZDCRecoParamPbPb.cxx:74 AliZDCRecoParamPbPb.cxx:75 AliZDCRecoParamPbPb.cxx:76 AliZDCRecoParamPbPb.cxx:77 AliZDCRecoParamPbPb.cxx:78 AliZDCRecoParamPbPb.cxx:79 AliZDCRecoParamPbPb.cxx:80 AliZDCRecoParamPbPb.cxx:81 AliZDCRecoParamPbPb.cxx:82 AliZDCRecoParamPbPb.cxx:83 AliZDCRecoParamPbPb.cxx:84 AliZDCRecoParamPbPb.cxx:85 AliZDCRecoParamPbPb.cxx:86 AliZDCRecoParamPbPb.cxx:87 AliZDCRecoParamPbPb.cxx:88 AliZDCRecoParamPbPb.cxx:89 AliZDCRecoParamPbPb.cxx:90 AliZDCRecoParamPbPb.cxx:91 AliZDCRecoParamPbPb.cxx:92 AliZDCRecoParamPbPb.cxx:93 AliZDCRecoParamPbPb.cxx:94 AliZDCRecoParamPbPb.cxx:95 AliZDCRecoParamPbPb.cxx:96 AliZDCRecoParamPbPb.cxx:97 AliZDCRecoParamPbPb.cxx:98 AliZDCRecoParamPbPb.cxx:99 AliZDCRecoParamPbPb.cxx:100 AliZDCRecoParamPbPb.cxx:101 AliZDCRecoParamPbPb.cxx:102 AliZDCRecoParamPbPb.cxx:103 AliZDCRecoParamPbPb.cxx:104 AliZDCRecoParamPbPb.cxx:105 AliZDCRecoParamPbPb.cxx:106 AliZDCRecoParamPbPb.cxx:107 AliZDCRecoParamPbPb.cxx:108 AliZDCRecoParamPbPb.cxx:109 AliZDCRecoParamPbPb.cxx:110 AliZDCRecoParamPbPb.cxx:111 AliZDCRecoParamPbPb.cxx:112 AliZDCRecoParamPbPb.cxx:113 AliZDCRecoParamPbPb.cxx:114 AliZDCRecoParamPbPb.cxx:115 AliZDCRecoParamPbPb.cxx:116 AliZDCRecoParamPbPb.cxx:117 AliZDCRecoParamPbPb.cxx:118 AliZDCRecoParamPbPb.cxx:119 AliZDCRecoParamPbPb.cxx:120 AliZDCRecoParamPbPb.cxx:121 AliZDCRecoParamPbPb.cxx:122 AliZDCRecoParamPbPb.cxx:123 AliZDCRecoParamPbPb.cxx:124 AliZDCRecoParamPbPb.cxx:125 AliZDCRecoParamPbPb.cxx:126 AliZDCRecoParamPbPb.cxx:127 AliZDCRecoParamPbPb.cxx:128 AliZDCRecoParamPbPb.cxx:129 AliZDCRecoParamPbPb.cxx:130 AliZDCRecoParamPbPb.cxx:131 AliZDCRecoParamPbPb.cxx:132 AliZDCRecoParamPbPb.cxx:133 AliZDCRecoParamPbPb.cxx:134 AliZDCRecoParamPbPb.cxx:135 AliZDCRecoParamPbPb.cxx:136 AliZDCRecoParamPbPb.cxx:137 AliZDCRecoParamPbPb.cxx:138 AliZDCRecoParamPbPb.cxx:139 AliZDCRecoParamPbPb.cxx:140 AliZDCRecoParamPbPb.cxx:141 AliZDCRecoParamPbPb.cxx:142 AliZDCRecoParamPbPb.cxx:143 AliZDCRecoParamPbPb.cxx:144 AliZDCRecoParamPbPb.cxx:145 AliZDCRecoParamPbPb.cxx:146 AliZDCRecoParamPbPb.cxx:147 AliZDCRecoParamPbPb.cxx:148 AliZDCRecoParamPbPb.cxx:149 AliZDCRecoParamPbPb.cxx:150 AliZDCRecoParamPbPb.cxx:151 AliZDCRecoParamPbPb.cxx:152 AliZDCRecoParamPbPb.cxx:153 AliZDCRecoParamPbPb.cxx:154 AliZDCRecoParamPbPb.cxx:155 AliZDCRecoParamPbPb.cxx:156 AliZDCRecoParamPbPb.cxx:157 AliZDCRecoParamPbPb.cxx:158 AliZDCRecoParamPbPb.cxx:159 AliZDCRecoParamPbPb.cxx:160 AliZDCRecoParamPbPb.cxx:161 AliZDCRecoParamPbPb.cxx:162 AliZDCRecoParamPbPb.cxx:163 AliZDCRecoParamPbPb.cxx:164 AliZDCRecoParamPbPb.cxx:165 AliZDCRecoParamPbPb.cxx:166 AliZDCRecoParamPbPb.cxx:167 AliZDCRecoParamPbPb.cxx:168 AliZDCRecoParamPbPb.cxx:169 AliZDCRecoParamPbPb.cxx:170 AliZDCRecoParamPbPb.cxx:171 AliZDCRecoParamPbPb.cxx:172