ClassImp(AlidNdEtaAnalysisESDSelector)
AlidNdEtaAnalysisESDSelector::AlidNdEtaAnalysisESDSelector() :
- AliSelectorRL(),
+ AliSelector(),
fdNdEtaAnalysis(0),
fMult(0),
fEsdTrackCuts(0)
// When running with PROOF SlaveBegin() is called on each slave server.
// The tree argument is deprecated (on PROOF 0 is passed).
- AliSelectorRL::SlaveBegin(tree);
+ AliSelector::SlaveBegin(tree);
ReadUserObjects(tree);
{
// read the user objects
- AliSelectorRL::Init(tree);
+ AliSelector::Init(tree);
// Enable only the needed branches
if (tree)
{
// loop over all events
- if (AliSelectorRL::Process(entry) == kFALSE)
+ if (AliSelector::Process(entry) == kFALSE)
return kFALSE;
// Check prerequisites
return kTRUE;
}
- AliHeader* header = GetHeader();
- if (!header)
- {
- AliDebug(AliLog::kError, "Header not available");
- return kFALSE;
- }
-
- AliStack* stack = GetStack();
- if (!stack)
- {
- AliDebug(AliLog::kError, "Stack not available");
- return kFALSE;
- }
-
- // get the MC vertex
- AliGenEventHeader* genHeader = header->GenEventHeader();
-
- TArrayF vtxMC(3);
- genHeader->PrimaryVertex(vtxMC);
-
- // ########################################################
// get the ESD vertex
const AliESDVertex* vtxESD = fESD->GetVertex();
Double_t vtx[3];
vtxESD->GetXYZ(vtx);
- //vtx[2] = vtxMC[2];
- //vtx[2] -= 2.951034e-03 + 6.859620e-04 * vtxMC[2];
-
// get number of "good" tracks
TObjArray* list = fEsdTrackCuts->GetAcceptedTracks(fESD);
Int_t nGoodTracks = list->GetEntries();
- // FAKE test!
- //Int_t nContributors = vtxESD->GetNContributors();
-
// loop over esd tracks
for (Int_t t=0; t<nGoodTracks; t++)
{
continue;
}
- Int_t label = TMath::Abs(esdTrack->GetLabel());
-
- TParticle* particle = stack->Particle(label);
- if (!particle)
- {
- AliDebug(AliLog::kError, Form("ERROR: Could not retrieve particle %d.", esdTrack->GetLabel()));
- continue;
- }
-
Double_t p[3];
esdTrack->GetConstrainedPxPyPz(p); // ### TODO should be okay because we have a vertex, however GetInnerPxPyPy / GetOuterPxPyPy also exist
TVector3 vector(p);
Float_t eta = -TMath::Log(TMath::Tan(theta/2.));
Float_t pt = vector.Pt();
- //eta = particle->Eta();
- //pt = particle->Pt();
-
fdNdEtaAnalysis->FillTrack(vtx[2], eta, pt);
} // end of track loop
// have been processed. When running with PROOF SlaveTerminate() is called
// on each slave server.
- AliSelectorRL::SlaveTerminate();
+ AliSelector::SlaveTerminate();
// Add the histograms to the output on each slave server
if (!fOutput)
// a query. It always runs on the client, it can be used to present
// the results graphically or save the results to file.
- AliSelectorRL::Terminate();
+ AliSelector::Terminate();
fdNdEtaAnalysis = dynamic_cast<dNdEtaAnalysis*> (fOutput->FindObject("dndeta"));
fMult = dynamic_cast<TH1F*> (fOutput->FindObject("fMult"));