#include "AliAnalysisTaskSE.h"
#include "AliRDHFCutsD0toKpi.h"
#include "AliHFAssociatedTrackCuts.h"
+#include "AliHFCorrelator.h"
#include "AliNormalizationCounter.h"
+using std::vector;
+
class AliAODEvent;
class AliAnalysisTaskSED0Correlations : public AliAnalysisTaskSE
void SetPtTreshUp(Double_t* pttreshup) {for(int i=0;i<fNPtBinsCorr;i++) {fPtThreshUp.push_back(pttreshup[i]);}}
void PrintBinsAndLimits();
Int_t PtBinCorr(Double_t pt) const;
+ void SetEvMixing(Bool_t mix) {fMixing=mix;}
+
+ enum PartType {kTrack,kKCharg,kK0};
+ enum FillType {kSE, kME}; //for single event or event mixing histos fill
private:
AliAnalysisTaskSED0Correlations(const AliAnalysisTaskSED0Correlations &source);
AliAnalysisTaskSED0Correlations& operator=(const AliAnalysisTaskSED0Correlations& source);
void FillMassHists(AliAODRecoDecayHF2Prong *part, TClonesArray *arrMC, AliRDHFCutsD0toKpi *cuts, TList *listout);
- void FillVarHists(AliAODEvent *aodev,AliAODRecoDecayHF2Prong *part, TClonesArray *arrMC, AliRDHFCutsD0toKpi *cuts, TList *listout);
Int_t CheckD0Origin(TClonesArray* arrayMC, AliAODMCParticle *mcPartCandidate) const;
//correlation methods
void CreateCorrelationsObjs();
- void CalculateCorrelations(AliAODEvent* aod, AliAODRecoDecayHF2Prong* d, Int_t labD0=-1, TClonesArray* mcArray=0x0);
- void GetImpParameter(AliAODTrack *track, AliAODEvent* aod, Double_t &d0, Double_t &d0err) const;
- Bool_t TrackSelectedInLoop(AliAODTrack* track, AliAODRecoDecayHF2Prong *d, AliAODEvent *aod, Int_t ptbin, Int_t idDaughs[]) const;
+ void CalculateCorrelations(AliAODRecoDecayHF2Prong* d, Int_t labD0=-1, TClonesArray* mcArray=0x0);
+ void FillSparsePlots(TClonesArray* arrayMC, AliAODRecoDecayHF2Prong *d, Int_t origD0, Int_t PdgD0, AliReducedParticle* track, Int_t type);
Int_t CheckTrackOrigin(TClonesArray* arrayMC, AliAODMCParticle *mcPartCandidate) const;
Bool_t SelectV0(AliAODv0* v0, AliAODVertex *vtx, Int_t option, Int_t idArrayV0[][2]) const;
- Double_t PtWeig(Int_t ptbin, Double_t ptTrack) const;
Int_t fNPtBinsCorr; // number of pt bins per correlations
vector<Double_t> fBinLimsCorr; // limits of pt bins per correlations
TH1F *fNentries; //!histogram with number of events on output slot 2
AliRDHFCutsD0toKpi *fCutsD0; // Cuts for D0, output 3
AliHFAssociatedTrackCuts *fCutsTracks;// Cuts for tracks and K0, output 7
+ AliHFCorrelator* fCorrelatorTr; // Correlator for tracks
+ AliHFCorrelator* fCorrelatorKc; // Correlator for charged K
+ AliHFCorrelator* fCorrelatorK0; // Correlator for K0
Bool_t fReadMC; // flag for MC array: kTRUE = read it, kFALSE = do not read it
+ Bool_t fMixing; // flag to enable also event mixing
AliNormalizationCounter *fCounter; //!AliNormalizationCounter on output slot 4
Int_t fNPtBins; // Number of pt bins
Int_t fFillOnlyD0D0bar; // flag to fill mass histogram with D0/D0bar only (0 = fill with both, 1 = fill with D0 only, 2 = fill with D0bar only)
Bool_t fIsRejectSDDClusters; // flag to reject events with SDD clusters
Bool_t fFillGlobal; // flag to fill global plots (in loops on tracks and V0 for each event)
- ClassDef(AliAnalysisTaskSED0Correlations,1); // AliAnalysisTaskSE for D0->Kpi
+ ClassDef(AliAnalysisTaskSED0Correlations,2); // AliAnalysisTaskSE for D0->Kpi
};
#endif