// Checks if a vertex meets the needed quality criteria
Float_t requiredZResolution = -1;
- if (analysisMode & kSPD || analysisMode & kTPCITS)
+ if (analysisMode & kSPD || analysisMode & kTPCITS || analysisMode & kTPCSPD)
{
// disable cut on resolution
requiredZResolution = 1000;
if (debug)
Printf("AliPWG0Helper::GetVertex: Returning SPD vertex");
}
- else if (analysisMode & kTPCITS)
+ else if (analysisMode & kTPCITS || analysisMode & kTPCSPD)
{
vertex = aEsd->GetPrimaryVertexTracks();
if (debug)
Printf("AliPWG0Helper::GetVertex: Returning vertex from tracks");
- if (vertex && vertex->GetNContributors() <= 0)
+ if (!vertex || vertex->GetNContributors() <= 0)
{
if (debug)
Printf("AliPWG0Helper::GetVertex: Vertex from tracks has no contributors. Falling back to SPD vertex.");
else if (strlen(axis) == 1)
proj2->SetXTitle(GetAxisTitle(hist2, axis[0]));
- TH1* division = dynamic_cast<TH1*> (proj->Clone(Form("%s_div_%s", proj->GetName(), proj2->GetName())));
+ TH1* division = static_cast<TH1*> (proj->Clone(Form("%s_div_%s", proj->GetName(), proj2->GetName())));
//printf("doing axis: %s, x axis has %d %d bins, min %f %f max %f %f\n", axis, division->GetNbinsX(), proj2->GetNbinsX(), division->GetXaxis()->GetBinLowEdge(1), proj2->GetXaxis()->GetBinLowEdge(1), division->GetXaxis()->GetBinUpEdge(division->GetNbinsX()), proj2->GetXaxis()->GetBinUpEdge(proj2->GetNbinsX()));
//printf("doing axis: %s, y axis has %d %d bins, min %f %f max %f %f\n", axis, division->GetNbinsY(), proj2->GetNbinsY(), division->GetYaxis()->GetBinLowEdge(1), proj2->GetYaxis()->GetBinLowEdge(1), division->GetYaxis()->GetBinUpEdge(division->GetNbinsY()), proj2->GetYaxis()->GetBinUpEdge(proj2->GetNbinsY()));
division->Divide(proj, proj2, 1, 1, "B");
if (analysisMode & kTPCITS)
str += "Global tracking";
+
+ if (analysisMode & kTPCSPD)
+ str += "Tracks and tracklets";
if (analysisMode & kFieldOn)
{
if (diffTreatment == kMCFlags)
return mcProcessType;
+ if (!esd)
+ {
+ Printf("ERROR: AliPWG0Helper::GetEventProcessType: diffTreatment != kMCFlags and esd == 0");
+ return kInvalidProcess;
+ }
+
Float_t cms = esd->GetESDRun()->GetBeamEnergy();
if (esd->GetESDRun()->IsBeamEnergyIsSqrtSHalfGeV())
cms *= 2;