Fix in the last caall to CleanOwnPrimaryVertex
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliAnalysisTaskSEDStarSpectra.h
1 #ifndef ALIANALYSISTASKSEDSTARSPECTRA_H\r#define ALIANALYSISTASKSEDSTARSPECTRA_H\r/**************************************************************************\r * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *\r *                                                                        *\r * Author: The ALICE Off-line Project.                                    *\r * Contributors are mentioned in the code where appropriate.              *\r *                                                                        *\r * Permission to use, copy, modify and distribute this software and its   *\r * documentation strictly for non-commercial purposes is hereby granted   *\r * without fee, provided that the above copyright notice appears in all   *\r * copies and that both the copyright notice and this permission notice   *\r * appear in the supporting documentation. The authors make no claims     *\r * about the suitability of this software for any purpose. It is          *\r * provided "as is" without express or implied warranty.                  *\r **************************************************************************/\r\r/* $Id$ */ \r\r#include <TH2F.h>\r#include "TROOT.h"\r#include "TSystem.h"\r#include <THnSparse.h>\r\r#include "AliAnalysisTaskSE.h"\r#include "AliAODEvent.h"\r#include "AliRDHFCutsDStartoKpipi.h"\r#include "AliNormalizationCounter.h"\r\rclass AliAnalysisTaskSEDStarSpectra : public AliAnalysisTaskSE \r{\r  \r public:\r  \r  AliAnalysisTaskSEDStarSpectra();\r  AliAnalysisTaskSEDStarSpectra(const Char_t* name,AliRDHFCutsDStartoKpipi* cuts);\r  virtual ~AliAnalysisTaskSEDStarSpectra();\r\r  // Implementation of interface methods  \r  virtual void UserCreateOutputObjects();\r  virtual void Init();\r  virtual void LocalInit() {Init();}\r  virtual void UserExec(Option_t *option);\r  virtual void Terminate(Option_t *option);\r \r\r //Background simulation\r  void     SideBandBackground(AliAODRecoCascadeHF *part, AliRDHFCutsDStartoKpipi *cuts, Int_t isSel, TList *listout);\r  void     WrongSignForDStar(AliAODRecoCascadeHF *part, AliRDHFCutsDStartoKpipi *cuts, TList *listout);\r    // histos\r  void   FillSpectrum(AliAODRecoCascadeHF *part, Int_t isDStar, AliRDHFCutsDStartoKpipi *cuts, Int_t isSel, TList *listout);\r  void     DefineHistograms();\r  Int_t CheckOrigin(TClonesArray* arrayMC, AliAODMCParticle *mcPartCandidate) const;\r  void CreateImpactParameterHistos();\r\r  // set analysis type\r  void     SetAnalysisType(Int_t anaType) {fAnalysis = anaType;}\r  void     PrintAnalysisType() {printf("Analysis type: %d\n(0: Heidelberg\t1: Utrecht)",fAnalysis);}\r // set MC usage\r  void     SetMC(Bool_t theMCon) {fUseMCInfo = theMCon;}\r  Bool_t   GetMC() const {return fUseMCInfo;}\r // set rare mesons\r  void     SetRareSearch(Bool_t theRareOn) {fDoSearch = theRareOn;}\r  Bool_t   GetRareSearch() const {return fDoSearch;}\r  //impact par study\r  void SetDoImpactParameterHistos(Bool_t doImp=kTRUE){fDoImpParDstar=doImp;}\r  Bool_t GetDoImpactParameterHistos(){return fDoImpParDstar;}\r\r  Float_t GetTrueImpactParameterD0(AliAODMCHeader *mcHeader, TClonesArray* arrayMC, AliAODMCParticle *partDp) const;\r\r private:\r  \r  AliAnalysisTaskSEDStarSpectra(const AliAnalysisTaskSEDStarSpectra &source);\r  AliAnalysisTaskSEDStarSpectra& operator=(const AliAnalysisTaskSEDStarSpectra& source); \r  \r  Int_t  fEvents;                //  n. of events\r  Int_t  fAnalysis;           //  0: HD;     1: UU;\r  Double_t fD0Window;             //  select width on D0Mass\r  Double_t fPeakWindow;          //  select width on DstarMass\r  Bool_t fUseMCInfo;             //  Use MC info\r  Bool_t fDoSearch;              //  Rare mesons\r  TList *fOutput;                //!  User output\r  TList *fOutputAll;             //!  User output2\r  TList *fOutputPID;             //!  User output3\r  Int_t  fNSigma;                //  n sigma for kaon PID\r  AliRDHFCutsDStartoKpipi *fCuts; // Cuts - sent to output slot 3\r  // define the histograms\r  TH1F *fCEvents;             //!\r  TH2F *fTrueDiff2;           //!\r  TH1F *fDeltaMassD1;         //! \r  AliNormalizationCounter *fCounter;//!Counter for normalization slot 4\r  Bool_t fDoImpParDstar;  // imppar studies\r  Int_t  fNImpParBins;   // nunber of bins in impact parameter histos\r  Float_t fLowerImpPar;  // lower limit in impact parameter (um)\r  Float_t fHigherImpPar; // higher limit in impact parameter (um)\r\r  THnSparseF *fHistMassPtImpParTCDs[5];//! histograms for impact paramter studies\r\r  ClassDef(AliAnalysisTaskSEDStarSpectra,9); // class for D* spectra\r};\r\r#endif\r\r