/* Copyright(c) 1998-2012, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/* $Id$ */
+/* $Id$ */
//*************************************************************************
// Class AliAnalysisTaskSED0Correlations
virtual void Terminate(Option_t *option);
void SetReadMC(Bool_t readMC=kFALSE){fReadMC=readMC;}
+ void SetMCReconstructedTracks(Bool_t recoTrMC=kTRUE){fRecoTr=recoTrMC;}
+ void SetMCReconstructedD0(Bool_t recoD0MC=kTRUE){fRecoD0=recoD0MC;}
+ void SetMCSelEventType(Bool_t sel=kFALSE){fSelEvType=sel;}
void SetFillOnlyD0D0bar(Int_t flagfill){fFillOnlyD0D0bar=flagfill;}
void SetSystem(Int_t sys){fSys=sys;}
void SetRejectSDDClusters(Bool_t flag) {fIsRejectSDDClusters=flag; }
void SetFillGlobalPlots(Bool_t fill=kTRUE){fFillGlobal=fill;}
+ void SetSoftPiFlag(Bool_t piflag) {fSoftPiCut=piflag;}
+ void SetMEAxisThresh(Bool_t methresh) {fMEAxisThresh=methresh;}
+ void SetKaonCorrelations(Bool_t kaonCorr) {fKaonCorr=kaonCorr;}
Int_t GetReadMC() const {return fReadMC;}
+ Int_t GetMCReconstructedTracks() const {return fRecoTr;}
+ Int_t GetMCReconstructedD0() const {return fRecoD0;}
+ Int_t GetMCSelEventType() const {return fSelEvType;}
Int_t GetFillOnlyD0D0bar() const {return fFillOnlyD0D0bar;}
Int_t GetSystem() const {return fSys;}
Bool_t GetRejectSDDClusters() const {return fIsRejectSDDClusters;}
Bool_t GetFillGlobalPlots() const {return fFillGlobal;}
Double_t GetEtaForCorrel() {return fEtaForCorrel;}
+ Double_t GetMultEv() {return fMultEv;}
+ Bool_t GetSoftPiFlag() const {return fSoftPiCut;}
+ Bool_t GetMEAxisThresh() const {return fMEAxisThresh;}
+ Bool_t GetKaonCorrelations() const {return fKaonCorr;}
//correlations setters/printers
void SetNPtBinsCorr(Int_t nbins) {fNPtBinsCorr = nbins;}
void SetPtBinsLimsCorr(Float_t* ptlims) {for(int i=0;i<=fNPtBinsCorr;i++) {fBinLimsCorr.push_back((Double_t)ptlims[i]);}}
void SetPtTreshLow(Double_t* pttreshlow) {for(int i=0;i<fNPtBinsCorr;i++) {fPtThreshLow.push_back(pttreshlow[i]);}}
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;}
//correlation methods
void CreateCorrelationsObjs();
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);
+ void CalculateCorrelationsMCKine(AliAODMCParticle* d, TClonesArray* mcArray=0x0);
+ void FillSparsePlots(TClonesArray* arrayMC, Double_t mInv[], Int_t origD0, Int_t PdgD0, AliReducedParticle* track, Int_t ptbin, Int_t type, Double_t wg=1.);
Int_t CheckTrackOrigin(TClonesArray* arrayMC, AliAODMCParticle *mcPartCandidate) const;
+ Bool_t IsDDaughter(AliAODMCParticle* d, AliAODMCParticle* track, TClonesArray* mcArray) const;
Bool_t SelectV0(AliAODv0* v0, AliAODVertex *vtx, Int_t option, Int_t idArrayV0[][2]) const;
+ Bool_t IsSoftPion_MCKine(AliAODMCParticle* d, AliAODMCParticle* track, TClonesArray* arrayMC) const;
Int_t fNPtBinsCorr; // number of pt bins per correlations
std::vector<Double_t> fBinLimsCorr; // limits of pt bins per correlations
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 fRecoTr; // flag for using MC reconstructed (kTRUE) or pure kinematic MC (kFALSE) - Associated tracks
+ Bool_t fRecoD0; // flag for using MC reconstructed (kTRUE) or pure kinematic MC (kFALSE) - D0
+ Bool_t fSelEvType; // flag for enabling selection of event tpye (PP, GS, FE, ...) on MC analysis
Bool_t fMixing; // flag to enable also event mixing
AliNormalizationCounter *fCounter; //!AliNormalizationCounter on output slot 4
Int_t fNPtBins; // Number of pt bins
Double_t fEtaForCorrel; // cut for D0 eta to enable correlation with associated particles
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)
+ Double_t fMultEv; // event multiplicity (for trigger eff)
+ Bool_t fSoftPiCut; // flag to activate soft pion cut on Data
+ Bool_t fMEAxisThresh; // flag to fill threshold axis in ME plots
+ Bool_t fKaonCorr; // enables correlations of D0-Kcharg and D0-K0
- ClassDef(AliAnalysisTaskSED0Correlations,2); // AliAnalysisTaskSE for D0->Kpi
+ ClassDef(AliAnalysisTaskSED0Correlations,5); // AliAnalysisTaskSE for D0->Kpi
};
#endif