]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGHF/correlationHF/AliAnalysisTaskSED0Correlations.h
Incrementing class version.
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliAnalysisTaskSED0Correlations.h
index 897eaf3fa568e8abca00452f2dac15e135645de2..c2d360ac9dee2025ec2af7775d61652aacb2ea4a 100644 (file)
@@ -4,7 +4,7 @@
 /* Copyright(c) 1998-2012, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
-/* $Id$ */ 
+/* $Id$ */
 
 //*************************************************************************
 // Class AliAnalysisTaskSED0Correlations
@@ -47,17 +47,30 @@ class AliAnalysisTaskSED0Correlations : public AliAnalysisTaskSE
   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;}
@@ -65,6 +78,7 @@ class AliAnalysisTaskSED0Correlations : public AliAnalysisTaskSE
   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;}
@@ -82,9 +96,12 @@ class AliAnalysisTaskSED0Correlations : public AliAnalysisTaskSE
   //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
@@ -103,6 +120,9 @@ class AliAnalysisTaskSED0Correlations : public AliAnalysisTaskSE
   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
@@ -112,8 +132,12 @@ class AliAnalysisTaskSED0Correlations : public AliAnalysisTaskSE
   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