//____________________________________________________________________
void
-AliFMDReconstructor::GetVertex() const
+AliFMDReconstructor::GetVertex(AliESDEvent* esd) const
{
// Return the vertex to use.
// This is obtained from the ESD object.
// If not found, a warning is issued.
fVertexType = kNoVertex;
fCurrentVertex = 0;
- if (fESD) {
- const AliESDVertex* vertex = fESD->GetPrimaryVertex();
- if (!vertex) vertex = fESD->GetPrimaryVertexSPD();
- if (!vertex) vertex = fESD->GetPrimaryVertexTPC();
- if (!vertex) vertex = fESD->GetVertex();
-
- if (vertex) {
- AliFMDDebug(2, ("Got %s (%s) from ESD: %f",
- vertex->GetName(), vertex->GetTitle(), vertex->GetZv()));
- fCurrentVertex = vertex->GetZv();
- fVertexType = kESDVertex;
- return;
- }
- else if (fESD->GetESDTZERO()) {
- AliFMDDebug(2, ("Got primary vertex from T0: %f", fESD->GetT0zVertex()));
- fCurrentVertex = fESD->GetT0zVertex();
- fVertexType = kESDVertex;
- return;
- }
+ if (!esd) return;
+
+ const AliESDVertex* vertex = esd->GetPrimaryVertex();
+ if (!vertex) vertex = esd->GetPrimaryVertexSPD();
+ if (!vertex) vertex = esd->GetPrimaryVertexTPC();
+ if (!vertex) vertex = esd->GetVertex();
+
+ if (vertex) {
+ AliFMDDebug(2, ("Got %s (%s) from ESD: %f",
+ vertex->GetName(), vertex->GetTitle(), vertex->GetZv()));
+ fCurrentVertex = vertex->GetZv();
+ fVertexType = kESDVertex;
+ return;
+ }
+ else if (esd->GetESDTZERO()) {
+ AliFMDDebug(2, ("Got primary vertex from T0: %f", esd->GetT0zVertex()));
+ fCurrentVertex = esd->GetT0zVertex();
+ fVertexType = kESDVertex;
+ return;
}
AliWarning("Didn't get any vertex from ESD or generator");
}
// clusterTree Pointer to output tree
//
AliFMDDebug(2, ("Reconstructing from digits in a tree"));
- GetVertex();
+ GetVertex(fESD);
TBranch *digitBranch = digitsTree->GetBranch("FMD");
if (!digitBranch) {
// fESDObj->Print();
Double_t oldVz = fCurrentVertex;
- GetVertex();
+ GetVertex(esd);
if (fVertexType != kNoVertex) {
AliFMDDebug(2, ("Revertexing the ESD data to vz=%f (was %f)",
fCurrentVertex, oldVz));
* Try to get the vertex from either ESD or generator header. Sets
* @c fCurrentVertex to the found Z posistion of the vertex (if
* found), and sets the flag @c fVertexType accordingly
+ *
+ * @param esd ESD structure to get Vz from
*/
- virtual void GetVertex() const;
+ virtual void GetVertex(AliESDEvent* esd) const;
/**
* Process AliFMDDigit objects in @a digits. For each digit, find
* the psuedo-rapidity @f$ \eta@f$, azimuthal angle @f$ \varphi@f$,