#include "AliESDtrackCuts.h"
#include "AlidNdPtEventCuts.h"
#include "AlidNdPtAcceptanceCuts.h"
#include "AliPhysicsSelection.h"
#include "AlidNdPtBackgroundCuts.h"
#include "AlidNdPt.h"
using namespace std;
ClassImp(AlidNdPt)
AlidNdPt::AlidNdPt(): TNamed()
, fdNdPtEventCuts(0)
, fdNdPtAcceptanceCuts(0)
, fdNdPtRecAcceptanceCuts(0)
, fMultAcceptanceCuts(0)
, fEsdTrackCuts(0)
, fMultTrackCuts(0)
, fUseMCInfo(kFALSE)
, fAnalysisMode(AlidNdPtHelper::kTPC)
, fTrigger(AliTriggerAnalysis::kMB1)
, fTriggerClass(0)
, fParticleMode(AlidNdPtHelper::kAllPart)
, fPhysicsSelection(0)
, fdNdPtBackgroundCuts(0)
, fAnalyseOutput(kFALSE)
, fMergeTHnSparse(kTRUE)
, fTriggerMask(AliVEvent::kMB)
{
}
AlidNdPt::AlidNdPt(Char_t* name, Char_t* title): TNamed(name,title)
, fdNdPtEventCuts(0)
, fdNdPtAcceptanceCuts(0)
, fdNdPtRecAcceptanceCuts(0)
, fMultAcceptanceCuts(0)
, fEsdTrackCuts(0)
, fMultTrackCuts(0)
, fUseMCInfo(kFALSE)
, fAnalysisMode(AlidNdPtHelper::kTPC)
, fTrigger(AliTriggerAnalysis::kMB1)
, fTriggerClass(0)
, fParticleMode(AlidNdPtHelper::kAllPart)
, fPhysicsSelection(0)
, fdNdPtBackgroundCuts(0)
, fAnalyseOutput(kFALSE)
, fMergeTHnSparse(kTRUE)
, fTriggerMask(AliVEvent::kMB)
{
}
AlidNdPt::AlidNdPt(const AlidNdPt&): TNamed()
, fdNdPtEventCuts(0)
, fdNdPtAcceptanceCuts(0)
, fdNdPtRecAcceptanceCuts(0)
, fMultAcceptanceCuts(0)
, fEsdTrackCuts(0)
, fMultTrackCuts(0)
, fUseMCInfo(kFALSE)
, fAnalysisMode(AlidNdPtHelper::kTPC)
, fTrigger(AliTriggerAnalysis::kMB1)
, fTriggerClass(0)
, fParticleMode(AlidNdPtHelper::kAllPart)
, fPhysicsSelection(0)
, fdNdPtBackgroundCuts(0)
, fAnalyseOutput(kFALSE)
, fMergeTHnSparse(kTRUE)
, fTriggerMask(AliVEvent::kMB)
{
}
AlidNdPt& AlidNdPt::operator=(const AlidNdPt&)
{
return *this;
}
AlidNdPt::~AlidNdPt() {
if(fdNdPtEventCuts) delete fdNdPtEventCuts; fdNdPtEventCuts=NULL;
if(fdNdPtAcceptanceCuts) delete fdNdPtAcceptanceCuts; fdNdPtAcceptanceCuts=NULL;
if(fMultAcceptanceCuts) delete fMultAcceptanceCuts; fMultAcceptanceCuts=NULL;
if(fdNdPtRecAcceptanceCuts) delete fdNdPtRecAcceptanceCuts; fdNdPtRecAcceptanceCuts=NULL;
if(fEsdTrackCuts) delete fEsdTrackCuts; fEsdTrackCuts=NULL;
if(fMultTrackCuts) delete fMultTrackCuts; fMultTrackCuts=NULL;
if(fPhysicsSelection) delete fPhysicsSelection; fPhysicsSelection=NULL;
if(fdNdPtBackgroundCuts) delete fdNdPtBackgroundCuts; fdNdPtBackgroundCuts=NULL;
}
Double_t * AlidNdPt::CreateLogAxis(Int_t nbins, Double_t xmin, Double_t xmax) {
Double_t logxmin = TMath::Log10(xmin);
Double_t logxmax = TMath::Log10(xmax);
Double_t binwidth = (logxmax-logxmin)/nbins;
Double_t *xbins = new Double_t[nbins+1];
xbins[0] = xmin;
for (Int_t i=1;i<=nbins;i++) {
xbins[i] = xmin + TMath::Power(10,logxmin+i*binwidth);
}
return xbins;
}
Double_t* AlidNdPt::CloneArray(Int_t n, Double_t* source)
{
if (!source || n==0) return 0;
Double_t* dest = new Double_t[n];
for (Int_t i=0; i<n ; i++) { dest[i] = source[i]; }
return dest;
}