//
// Constructor. Initialization of pointers
//
-
- AliLog::SetClassDebugLevel("AliMultiplicityESDSelector", AliLog::kDebug);
}
AliMultiplicityESDSelector::~AliMultiplicityESDSelector()
return kTRUE;
// get number of "good" tracks
- TObjArray* list = fEsdTrackCuts->GetAcceptedTracks(fESD);
- Int_t nGoodTracks = list->GetEntries();
- delete list;
- list = 0;
+ Int_t nGoodTracks = fEsdTrackCuts->CountAcceptedTracks(fESD);
fMultiplicity->Fill(nGoodTracks);
-
return kTRUE;
}
// histograms are in the output list and deleted when the output
// list is deleted by the TSelector dtor
+
+ if (fdNdEtaAnalysis)
+ {
+ delete fdNdEtaAnalysis;
+ fdNdEtaAnalysis = 0;
+ }
+
+ if (fdNdEtaAnalysisMB)
+ {
+ delete fdNdEtaAnalysisMB;
+ fdNdEtaAnalysisMB = 0;
+ }
+
+ if (fdNdEtaAnalysisMBVtx)
+ {
+ delete fdNdEtaAnalysisMBVtx;
+ fdNdEtaAnalysisMBVtx = 0;
+ }
+
+ if (fEsdTrackCuts)
+ {
+ delete fEsdTrackCuts;
+ fEsdTrackCuts = 0;
+ }
+
+ if (fdNdEtaCorrection)
+ {
+ delete fdNdEtaCorrection;
+ fdNdEtaCorrection = 0;
+ }
}
void AlidNdEtaAnalysisESDSelector::Begin(TTree* tree)
}
Double_t p[3];
- esdTrack->GetConstrainedPxPyPz(p); // ### TODO or GetInnerPxPyPy / GetOuterPxPyPy
+ esdTrack->GetConstrainedPxPyPz(p); // ### TODO should be okay because we have a vertex, however GetInnerPxPyPy / GetOuterPxPyPy also exist
TVector3 vector(p);
Float_t theta = vector.Theta();
return;
}
+ // Add the objects to the output list and set them to 0, so that the destructor does not delete them.
+
fOutput->Add(fdNdEtaAnalysis);
+ fdNdEtaAnalysis = 0;
+
fOutput->Add(fdNdEtaAnalysisMB);
+ fdNdEtaAnalysisMB = 0;
+
fOutput->Add(fdNdEtaAnalysisMBVtx);
+ fdNdEtaAnalysisMBVtx = 0;
}
void AlidNdEtaAnalysisESDSelector::Terminate()
//____________________________________________________________________
AlidNdEtaCorrection::AlidNdEtaCorrection(const Char_t* name, const Char_t* title)
: TNamed(name, title),
+ fTrack2ParticleCorrection(0),
+ fVertexRecoCorrection(0),
+ fTriggerCorrection(0),
+ fTriggerBiasCorrection(0),
fNEvents(0),
fNTriggeredEvents(0)
{
fTriggerBiasCorrection ->SetAxisTitles("#eta", "p_{T} [GeV/c]");
}
+//____________________________________________________________________
+AlidNdEtaCorrection::~AlidNdEtaCorrection()
+{
+ // destructor
+
+ if (fTrack2ParticleCorrection)
+ {
+ delete fTrack2ParticleCorrection;
+ fTrack2ParticleCorrection = 0;
+ }
+
+ if (fVertexRecoCorrection)
+ {
+ delete fVertexRecoCorrection;
+ fVertexRecoCorrection = 0;
+ }
+
+ if (fTriggerCorrection)
+ {
+ delete fTriggerCorrection;
+ fTriggerCorrection = 0;
+ }
+
+ if (fTriggerBiasCorrection)
+ {
+ delete fTriggerBiasCorrection;
+ fTriggerBiasCorrection = 0;
+ }
+}
+
//____________________________________________________________________
void
AlidNdEtaCorrection::Finish() {
AlidNdEtaCorrection();
AlidNdEtaCorrection(const Char_t* name, const Char_t* title);
+ ~AlidNdEtaCorrection();
+
// fVertexRecoCorrection, fTriggerCorrection
void FillEvent(Float_t vtx, Float_t n) {fTriggerCorrection->FillGene(vtx, n);}
void FillEventWithTrigger(Float_t vtx, Float_t n) {fVertexRecoCorrection->FillGene(vtx, n); fTriggerCorrection->FillMeas(vtx, n);}