]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG3/vertexingHF/AliAnalysisTaskSEDStarSpectra.h
Coding conventions
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliAnalysisTaskSEDStarSpectra.h
index 64a7046be5ffc5d6a394f0ea507819774054b566..5b1eaa8e2ccfb737ffcedeb6e62d71dd83a8310f 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
+/* $Id$ */ 
+
 #include <TH2F.h>
 #include "TROOT.h"
 #include "TSystem.h"
+#include <THnSparse.h>
+
 #include "AliAnalysisTaskSE.h"
-#include "AliAnalysisVertexingHF.h"
 #include "AliAODEvent.h"
-#include "AliPID.h"
-
-
-class TH2F;
-class TH1I;
-class TParticle;
-class TFile;
-class TClonesArray;
-class AliCFManager;
-class AliAODRecoDecay;
-class AliAODRecoDecayHF2Prong;
-class AliAODMCParticle;
+#include "AliRDHFCutsDStartoKpipi.h"
+#include "AliNormalizationCounter.h"
 
-class AliAnalysisTaskSEDStarSpectra : public AliAnalysisTaskSE {
+class AliAnalysisTaskSEDStarSpectra : public AliAnalysisTaskSE 
+{
   
  public:
   
   AliAnalysisTaskSEDStarSpectra();
-  AliAnalysisTaskSEDStarSpectra(const Char_t* name);
-  AliAnalysisTaskSEDStarSpectra& operator= (const AliAnalysisTaskSEDStarSpectra& c);
-  AliAnalysisTaskSEDStarSpectra(const AliAnalysisTaskSEDStarSpectra& c);
+  AliAnalysisTaskSEDStarSpectra(const Char_t* name,AliRDHFCutsDStartoKpipi* cuts);
   virtual ~AliAnalysisTaskSEDStarSpectra();
-  
+
+  // Implementation of interface methods  
   virtual void UserCreateOutputObjects();
   virtual void Init();
   virtual void LocalInit() {Init();}
   virtual void UserExec(Option_t *option);
   virtual void Terminate(Option_t *option);
  
-  //Background simulation
-  void     SideBandBackground(Int_t ptbin, AliAODRecoCascadeHF *part, Bool_t PIDon, Int_t nSigma, AliAnalysisVertexingHF *vhf, TList *listout);
-  void     WrongSignForDStar(Int_t ptbin, AliAODRecoCascadeHF *part, Bool_t PIDon, Int_t nSigma, AliAnalysisVertexingHF *vhf, TList *listout);
-  //cuts
-  Bool_t   SingleTrackSelections(AliAODRecoDecayHF2Prong* theD0particle, AliAODTrack *track0, AliAODTrack *track1, AliAODTrack *track2);
-  Bool_t   SetSelections(Double_t pt);  
-  Bool_t   SelectPID(AliAODTrack *track, AliPID::EParticleType pid, Double_t nsig);
-  // histos
-  void   FillSpectrum(Int_t ptbin, AliAODRecoCascadeHF *part, Int_t isDStar, Bool_t PIDon, Int_t nSigma, AliAnalysisVertexingHF *vhf, TList *listout);
+
+ //Background simulation
+  void     SideBandBackground(AliAODRecoCascadeHF *part, AliRDHFCutsDStartoKpipi *cuts, Int_t isSel, TList *listout);
+  void     WrongSignForDStar(AliAODRecoCascadeHF *part, AliRDHFCutsDStartoKpipi *cuts, TList *listout);
+    // histos
+  void   FillSpectrum(AliAODRecoCascadeHF *part, Int_t isDStar, AliRDHFCutsDStartoKpipi *cuts, Int_t isSel, TList *listout);
   void     DefineHistograms();
+  Int_t CheckOrigin(TClonesArray* arrayMC, AliAODMCParticle *mcPartCandidate) const;
+  void CreateImpactParameterHistos();
+
   // set analysis type
   void     SetAnalysisType(Int_t anaType) {fAnalysis = anaType;}
   void     PrintAnalysisType() {printf("Analysis type: %d\n(0: Heidelberg\t1: Utrecht)",fAnalysis);}
-  // set minimum ITS clusters for the analysis
-  void     SetMinITSClusters(Int_t minITSClusters) {fMinITSClusters = minITSClusters;}
-  Int_t    GetMinITSClusters() const {return fMinITSClusters;}
-  // set minimum for soft pion pt
-  void     SetMinITSClustersSoft(Int_t minITSClustersSoft) {fMinITSClustersSoft = minITSClustersSoft;}
-  Int_t    GetMinITSClustersSoft() const {return fMinITSClustersSoft;}
-  // kaon PID
-  void     SetPID(Bool_t usePID) {fPID = usePID;}
-  Int_t    GetPID() const {return fPID;}
-  // Set N sigmas for PID
-  void     SetNSigmasPID(Int_t numberOfSigmasPID) {fNSigma = numberOfSigmasPID;}
-  Int_t    GetNSigmasPID() const {return fNSigma;}
-  // set MC usage
+ // set MC usage
   void     SetMC(Bool_t theMCon) {fUseMCInfo = theMCon;}
   Bool_t   GetMC() const {return fUseMCInfo;}
+ // set rare mesons
+  void     SetRareSearch(Bool_t theRareOn) {fDoSearch = theRareOn;}
+  Bool_t   GetRareSearch() const {return fDoSearch;}
+  //impact par study
+  void SetDoImpactParameterHistos(Bool_t doImp=kTRUE){fDoImpParDstar=doImp;}
+  Bool_t GetDoImpactParameterHistos(){return fDoImpParDstar;}
+
+  Float_t GetTrueImpactParameterD0(AliAODMCHeader *mcHeader, TClonesArray* arrayMC, AliAODMCParticle *partDp) const;
+
+ private:
   
- protected:
+  AliAnalysisTaskSEDStarSpectra(const AliAnalysisTaskSEDStarSpectra &source);
+  AliAnalysisTaskSEDStarSpectra& operator=(const AliAnalysisTaskSEDStarSpectra& source); 
   
   Int_t  fEvents;                //  n. of events
   Int_t  fAnalysis;             //  0: HD;     1: UU;
-  AliAnalysisVertexingHF *fVHF;  //  Set the cuts
-  AliAnalysisVertexingHF *fVHFloose;  //  Set the cuts
   Double_t fD0Window;           //  select width on D0Mass
   Double_t fPeakWindow;          //  select width on DstarMass
-  Int_t  fMinITSClusters;        //  min n. of ITS clusters for RecoDecay
-  Int_t  fMinITSClustersSoft;    //  min n. of ITS clusters for RecoDecay soft pions
   Bool_t fUseMCInfo;             //  Use MC info
+  Bool_t fDoSearch;              //  Rare mesons
   TList *fOutput;                //!  User output
-  TList *fOutputSpectrum;
-  TList *fOutputAll;
-  TList *fOutputPID3;
-  TList *fOutputPID2;
-  TList *fOutputPID1;
+  TList *fOutputAll;             //!  User output2
+  TList *fOutputPID;             //!  User output3
   Int_t  fNSigma;                //  n sigma for kaon PID
-  Bool_t fPID;                   //  PID flag
-  AliAODTrack* fAODTrack;        //!
-  
+  AliRDHFCutsDStartoKpipi *fCuts; // Cuts - sent to output slot 3
   // define the histograms
   TH1F *fCEvents;             //!
   TH2F *fTrueDiff2;           //!
-  ClassDef(AliAnalysisTaskSEDStarSpectra,6); // class for D* spectra
+  TH1F *fDeltaMassD1;         //! 
+  AliNormalizationCounter *fCounter;//!Counter for normalization slot 4
+  Bool_t fDoImpParDstar;  // imppar studies
+  Int_t  fNImpParBins;   // nunber of bins in impact parameter histos
+  Float_t fLowerImpPar;  // lower limit in impact parameter (um)
+  Float_t fHigherImpPar; // higher limit in impact parameter (um)
+
+  THnSparseF *fHistMassPtImpParTCDs[5];//! histograms for impact paramter studies
+
+  ClassDef(AliAnalysisTaskSEDStarSpectra,9); // class for D* spectra
 };
 
 #endif