//____________________________
void AliFemtoCorrFctnDEtaDPhi::AddRealPair( AliFemtoPair* pair){
// add real (effect) pair
- double phi1 = pair->Track1()->Track()->P().phi();
- double phi2 = pair->Track2()->Track()->P().phi();
- double eta1 = pair->Track1()->Track()->P().pseudoRapidity();
- double eta2 = pair->Track2()->Track()->P().pseudoRapidity();
+ double phi1 = pair->Track1()->Track()->P().Phi();
+ double phi2 = pair->Track2()->Track()->P().Phi();
+ double eta1 = pair->Track1()->Track()->P().PseudoRapidity();
+ double eta2 = pair->Track2()->Track()->P().PseudoRapidity();
double dphi = phi1 - phi2;
while (dphi<-TMath::Pi()/2) dphi+=TMath::Pi()*2;
//____________________________
void AliFemtoCorrFctnDEtaDPhi::AddMixedPair( AliFemtoPair* pair){
// add mixed (background) pair
- double phi1 = pair->Track1()->Track()->P().phi();
- double phi2 = pair->Track2()->Track()->P().phi();
- double eta1 = pair->Track1()->Track()->P().pseudoRapidity();
- double eta2 = pair->Track2()->Track()->P().pseudoRapidity();
+ double phi1 = pair->Track1()->Track()->P().Phi();
+ double phi2 = pair->Track2()->Track()->P().Phi();
+ double eta1 = pair->Track1()->Track()->P().PseudoRapidity();
+ double eta2 = pair->Track2()->Track()->P().PseudoRapidity();
double dphi = phi1 - phi2;
while (dphi<-TMath::Pi()/2) dphi+=TMath::Pi()*2;
TList* AliFemtoCorrFctnDirectYlm::GetOutputList()
{
// Prepare the list of objects to be written to the output
+ if ((!fcovnum) || (!fcovden))
+ PackCovariances();
+
TList *tOutputList = new TList();
for (int ilm=0; ilm<fMaxJM; ilm++) {
char bufname[200];
sprintf(bufname, "CovNum%s", fnumsreal[0]->GetName()+10);
- if (fcovnum) delete fcovnum;
- fcovnum = new TH3D(bufname,bufname,
- fnumsreal[0]->GetNbinsX(), fnumsreal[0]->GetXaxis()->GetXmin(), fnumsreal[0]->GetXaxis()->GetXmax(),
- GetMaxJM()*2, -0.5, GetMaxJM()*2 - 0.5,
- GetMaxJM()*2, -0.5, GetMaxJM()*2 - 0.5);
+ // if (fcovnum) delete fcovnum;
+ if (!fcovnum)
+ fcovnum = new TH3D(bufname,bufname,
+ fnumsreal[0]->GetNbinsX(), fnumsreal[0]->GetXaxis()->GetXmin(), fnumsreal[0]->GetXaxis()->GetXmax(),
+ GetMaxJM()*2, -0.5, GetMaxJM()*2 - 0.5,
+ GetMaxJM()*2, -0.5, GetMaxJM()*2 - 0.5);
for (int ibin=1; ibin<=fcovnum->GetNbinsX(); ibin++)
for (int ilmz=0; ilmz<GetMaxJM()*2; ilmz++)
for (int ilmp=0; ilmp<GetMaxJM()*2; ilmp++)
fcovnum->SetBinContent(ibin, ilmz+1, ilmp+1, fcovmnum[GetBin(ibin-1, ilmz/2, ilmz%2, ilmp/2, ilmp%2)]);
- if (fcovden) delete fcovden;
sprintf(bufname, "CovDen%s", fnumsreal[0]->GetName()+10);
- fcovden = new TH3D(bufname,bufname,
- fdensreal[0]->GetNbinsX(), fdensreal[0]->GetXaxis()->GetXmin(), fdensreal[0]->GetXaxis()->GetXmax(),
- GetMaxJM()*2, -0.5, GetMaxJM()*2 - 0.5,
- GetMaxJM()*2, -0.5, GetMaxJM()*2 - 0.5);
+
+ // if (fcovden) delete fcovden;
+ if (!fcovden)
+ fcovden = new TH3D(bufname,bufname,
+ fdensreal[0]->GetNbinsX(), fdensreal[0]->GetXaxis()->GetXmin(), fdensreal[0]->GetXaxis()->GetXmax(),
+ GetMaxJM()*2, -0.5, GetMaxJM()*2 - 0.5,
+ GetMaxJM()*2, -0.5, GetMaxJM()*2 - 0.5);
for (int ibin=1; ibin<=fcovden->GetNbinsX(); ibin++)
for (int ilmz=0; ilmz<GetMaxJM()*2; ilmz++)
// float tRapidity = 0.5*::log((tEnergy+aTrack->P().z())/(tEnergy-aTrack->P().z()));
float tPt = ::sqrt((aTrack->P().x())*(aTrack->P().x())+(aTrack->P().y())*(aTrack->P().y()));
// float tEta = -TMath::Log(TMath::Tan(aTrack->P().theta()/2.0));
- float tPhi = aTrack->P().phi();
+ float tPhi = aTrack->P().Phi();
Double_t tPiTwo = TMath::Pi()*2;
while (tPhi > tPiTwo) tPhi -= tPiTwo;
tInf->GetTrueMomentum()->y() - aTrack->P().y(),
tInf->GetTrueMomentum()->z() - aTrack->P().z());
- fMomResXvsP->Fill(aTrack->P().mag(),
+ fMomResXvsP->Fill(aTrack->P().Mag(),
tInf->GetTrueMomentum()->x() - aTrack->P().x());
- fMomResYvsP->Fill(aTrack->P().mag(),
+ fMomResYvsP->Fill(aTrack->P().Mag(),
tInf->GetTrueMomentum()->y() - aTrack->P().y());
- fMomResZvsP->Fill(aTrack->P().mag(),
+ fMomResZvsP->Fill(aTrack->P().Mag(),
tInf->GetTrueMomentum()->z() - aTrack->P().z());
- fImpactXY->Fill(aTrack->P().mag(),
+ fImpactXY->Fill(aTrack->P().Mag(),
aTrack->ImpactD());
- fImpactZ->Fill(aTrack->P().mag(),
+ fImpactZ->Fill(aTrack->P().Mag(),
aTrack->ImpactZ());
- fSigma->Fill(aTrack->P().mag(),
+ fSigma->Fill(aTrack->P().Mag(),
aTrack->SigmaToVertex());
}
}
Bool_t tITSPidIn = (track->Flags()&AliFemtoTrack::kITSpid)>0;
Bool_t tTOFPidIn = (track->Flags()&AliFemtoTrack::kTOFpid)>0;
- if(fMinPforTOFpid > 0 && track->P().mag() > fMinPforTOFpid &&
- track->P().mag() < fMaxPforTOFpid && !tTOFPidIn)
+ if(fMinPforTOFpid > 0 && track->P().Mag() > fMinPforTOFpid &&
+ track->P().Mag() < fMaxPforTOFpid && !tTOFPidIn)
{
fNTracksFailed++;
return false;
}
- if(fMinPforTPCpid > 0 && track->P().mag() > fMinPforTPCpid &&
- track->P().mag() < fMaxPforTPCpid && !tTPCPidIn)
+ if(fMinPforTPCpid > 0 && track->P().Mag() > fMinPforTPCpid &&
+ track->P().Mag() < fMaxPforTPCpid && !tTPCPidIn)
{
fNTracksFailed++;
return false;
}
- if(fMinPforITSpid > 0 && track->P().mag() > fMinPforITSpid &&
- track->P().mag() < fMaxPforITSpid && !tITSPidIn)
+ if(fMinPforITSpid > 0 && track->P().Mag() > fMinPforITSpid &&
+ track->P().Mag() < fMaxPforITSpid && !tITSPidIn)
{
fNTracksFailed++;
return false;
}
- float tEnergy = ::sqrt(track->P().mag2()+fMass*fMass);
+ float tEnergy = ::sqrt(track->P().Mag2()+fMass*fMass);
float tRapidity = 0.5*::log((tEnergy+track->P().z())/(tEnergy-track->P().z()));
float tPt = ::sqrt((track->P().x())*(track->P().x())+(track->P().y())*(track->P().y()));
if ((tRapidity<fRapidity[0])||(tRapidity>fRapidity[1]))
}
if (fMostProbable) {
- tMost[0] = track->PidProbElectron()*PidFractionElectron(track->P().mag());
+ tMost[0] = track->PidProbElectron()*PidFractionElectron(track->P().Mag());
tMost[1] = 0.0;
- tMost[2] = track->PidProbPion()*PidFractionPion(track->P().mag());
- tMost[3] = track->PidProbKaon()*PidFractionKaon(track->P().mag());
- tMost[4] = track->PidProbProton()*PidFractionProton(track->P().mag());
+ tMost[2] = track->PidProbPion()*PidFractionPion(track->P().Mag());
+ tMost[3] = track->PidProbKaon()*PidFractionKaon(track->P().Mag());
+ tMost[4] = track->PidProbProton()*PidFractionProton(track->P().Mag());
int imost=0;
float ipidmax = 0.0;
for (int ip=0; ip<5; ip++)
//____________________________
void AliFemtoModelCorrFctnDEtaDPhi::AddRealPair( AliFemtoPair* pair){
// add real (effect) pair
- double phi1 = pair->Track1()->Track()->P().phi();
- double phi2 = pair->Track2()->Track()->P().phi();
- double eta1 = pair->Track1()->Track()->P().pseudoRapidity();
- double eta2 = pair->Track2()->Track()->P().pseudoRapidity();
+ double phi1 = pair->Track1()->Track()->P().Phi();
+ double phi2 = pair->Track2()->Track()->P().Phi();
+ double eta1 = pair->Track1()->Track()->P().PseudoRapidity();
+ double eta2 = pair->Track2()->Track()->P().PseudoRapidity();
double dphi = phi1 - phi2;
while (dphi<-TMath::Pi()/2) dphi+=TMath::Pi()*2;
//____________________________
void AliFemtoModelCorrFctnDEtaDPhi::AddMixedPair( AliFemtoPair* pair){
// add mixed (background) pair
- double phi1 = pair->Track1()->Track()->P().phi();
- double phi2 = pair->Track2()->Track()->P().phi();
- double eta1 = pair->Track1()->Track()->P().pseudoRapidity();
- double eta2 = pair->Track2()->Track()->P().pseudoRapidity();
+ double phi1 = pair->Track1()->Track()->P().Phi();
+ double phi2 = pair->Track2()->Track()->P().Phi();
+ double eta1 = pair->Track1()->Track()->P().PseudoRapidity();
+ double eta2 = pair->Track2()->Track()->P().PseudoRapidity();
double dphi = phi1 - phi2;
while (dphi<-TMath::Pi()/2) dphi+=TMath::Pi()*2;
if ((infg1) && (infg2)) {
// assume the emission point is in [cm] and try to judge if
// both particles are primary
- Double_t dist1 = infg1->GetGlobalEmissionPoint()->perp();
- Double_t dist2 = infg2->GetGlobalEmissionPoint()->perp();
+ Double_t dist1 = infg1->GetGlobalEmissionPoint()->Perp();
+ Double_t dist2 = infg2->GetGlobalEmissionPoint()->Perp();
if ((dist1 > 0.05) && (dist2 > 0.05)) {
// At least one particle is non primary
Double_t tPz = inf1->GetTrueMomentum()->z() + inf2->GetTrueMomentum()->z();
Double_t tM1 = inf1->GetMass();
Double_t tM2 = inf2->GetMass();
- Double_t tE1 = sqrt(tM1*tM1 + inf1->GetTrueMomentum()->mag2());
- Double_t tE2 = sqrt(tM2*tM2 + inf2->GetTrueMomentum()->mag2());
+ Double_t tE1 = sqrt(tM1*tM1 + inf1->GetTrueMomentum()->Mag2());
+ Double_t tE2 = sqrt(tM2*tM2 + inf2->GetTrueMomentum()->Mag2());
Double_t tEs = tE1 + tE2;
Double_t tPt = sqrt(tPx*tPx + tPy*tPy);
return false;
}
}
- float tEnergy = ::sqrt(track->P().mag2()+fMass*fMass);
+ float tEnergy = ::sqrt(track->P().Mag2()+fMass*fMass);
float tRapidity = 0.5*::log((tEnergy+track->P().z())/(tEnergy-track->P().z()));
float tPt = ::sqrt((track->P().x())*(track->P().x())+(track->P().y())*(track->P().y()));
if ((tRapidity<fRapidity[0])||(tRapidity>fRapidity[1]))
}
if (fMostProbable) {
- tMost[0] = track->PidProbElectron()*PidFractionElectron(track->P().mag());
+ tMost[0] = track->PidProbElectron()*PidFractionElectron(track->P().Mag());
tMost[1] = 0.0;
- tMost[2] = track->PidProbPion()*PidFractionPion(track->P().mag());
- tMost[3] = track->PidProbKaon()*PidFractionKaon(track->P().mag());
- tMost[4] = track->PidProbProton()*PidFractionProton(track->P().mag());
+ tMost[2] = track->PidProbPion()*PidFractionPion(track->P().Mag());
+ tMost[3] = track->PidProbKaon()*PidFractionKaon(track->P().Mag());
+ tMost[4] = track->PidProbProton()*PidFractionProton(track->P().Mag());
int imost=0;
float ipidmax = 0.0;
for (int ip=0; ip<5; ip++)