]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG3/vertexingHF/AliAnalysisTaskSED0Mass.h
Bug fixes.
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliAnalysisTaskSED0Mass.h
index 0dcf464a9fe9e638e3a1e6b400e57f13a015b5a8..c203a702cb7ba57d46a4178c98ac5497a2e36983 100644 (file)
 #include <TH1F.h>
 
 #include "AliAnalysisTaskSE.h"
-#include "AliAnalysisVertexingHF.h"
+#include "AliRDHFCutsD0toKpi.h"
+#include "AliNormalizationCounter.h"
+
+class AliAODEvent;
 
 class AliAnalysisTaskSED0Mass : public AliAnalysisTaskSE
 {
  public:
 
   AliAnalysisTaskSED0Mass();
-  AliAnalysisTaskSED0Mass(const char *name);
+  AliAnalysisTaskSED0Mass(const char *name,AliRDHFCutsD0toKpi* cuts);
   virtual ~AliAnalysisTaskSED0Mass();
 
 
@@ -41,28 +44,37 @@ class AliAnalysisTaskSED0Mass : public AliAnalysisTaskSE
   enum{kD0,kLS};
 
   void SetReadMC(Bool_t readMC=kFALSE){fReadMC=readMC;}
+  void SetCutOnDistr(Bool_t cutondistr=kFALSE){fCutOnDistr=cutondistr;}
+  void SetUsePid4Distr(Bool_t usepid=kTRUE){fUsePid4Distr=usepid;}
+  void SetFillOnlyD0D0bar(Int_t flagfill){fFillOnlyD0D0bar=flagfill;}
+
+  Bool_t GetCutOnDistr() const {return fCutOnDistr;}
+  Bool_t GetUsePid4Distr() const {return fUsePid4Distr;}
+  Int_t  GetFillOnlyD0D0bar() const {return fFillOnlyD0D0bar;}
 
  private:
 
   AliAnalysisTaskSED0Mass(const AliAnalysisTaskSED0Mass &source);
   AliAnalysisTaskSED0Mass& operator=(const AliAnalysisTaskSED0Mass& source); 
-  void     FillHists(Int_t ptbin, AliAODRecoDecayHF2Prong *part, TClonesArray *arrMC, AliAnalysisVertexingHF *vhf, TList *listout);
-  TList    *fOutputPPR; //! list send on output slot 1
-  TList    *fOutputmycuts; //! list send on output slot 2
-  TH1F     *fNentries;    //! histogram with number of events on output slot 3
-  TList    *fDistr;       //! list send on output slot 4
-  TList    *fChecks;       //! list send on output slot 5
-  AliAnalysisVertexingHF *fVHFPPR;  // Vertexer heavy flavour (used to pass the cuts)
-  AliAnalysisVertexingHF *fVHFmycuts;  // Vertexer heavy flavour (used to pass the cuts)
-  Int_t    fArray;        //   can be D0 or Like Sign candidates
-  Bool_t   fReadMC;       // flag for MC array: kTRUE = read it, kFALSE = do not read it
-
-  Int_t    fTotPosPairs[5];     //
-  Int_t    fTotNegPairs[5];     // 
-  Double_t fLsNormalization;  //  normalization
-
-
-  ClassDef(AliAnalysisTaskSED0Mass,5); // AliAnalysisTaskSE for the MC association of heavy-flavour decay candidates
+  void     FillMassHists(AliAODEvent *aodev,AliAODRecoDecayHF2Prong *part, TClonesArray *arrMC, AliRDHFCutsD0toKpi *cuts, TList *listout);
+  void     FillVarHists(AliAODEvent *aodev,AliAODRecoDecayHF2Prong *part, TClonesArray *arrMC, AliRDHFCutsD0toKpi *cuts, TList *listout);
+  AliAODVertex* GetPrimaryVtxSkipped(AliAODEvent *aodev,AliAODRecoDecayHF2Prong *d);
+
+  TList    *fOutputMass;          //! list send on output slot 1
+  TList    *fDistr;               //! list send on output slot 2
+  TH1F     *fNentries;            //! histogram with number of events on output slot 3
+  AliRDHFCutsD0toKpi *fCuts;      //  Cuts - sent to output slot 4
+  Int_t     fArray;               //  can be D0 or Like Sign candidates
+  Bool_t    fReadMC;              //  flag for MC array: kTRUE = read it, kFALSE = do not read it
+  Bool_t    fCutOnDistr;          //  flag to decide if apply cut also on distributions: 0 no cuts, 1 looser cuts, 2 tighter cuts 
+  Bool_t    fUsePid4Distr;        //  flag to use the particle identification to fill the signal histograms of distributions. It has effect only with fReadMC=kFALSE
+  AliNormalizationCounter *fCounter;//!AliNormalizationCounter on output slot 6
+  Int_t     fNPtBins;             //  number of pt bins
+  Double_t  fLsNormalization;     //  normalization
+  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)
+
+  ClassDef(AliAnalysisTaskSED0Mass,11); // AliAnalysisTaskSE for the MC association of heavy-flavour decay candidates
 };
 
 #endif
+