]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG3/vertexingHF/AliAnalysisTaskSEDStarSpectra.h
Coding conventions
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliAnalysisTaskSEDStarSpectra.h
index e2c7055586c8f6f8cb7c60dbd53af8aa8838deb2..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 "AliAODEvent.h"
-#include "AliPID.h"
 #include "AliRDHFCutsDStartoKpipi.h"
-
+#include "AliNormalizationCounter.h"
 
 class AliAnalysisTaskSEDStarSpectra : public AliAnalysisTaskSE 
 {
@@ -41,30 +43,31 @@ class AliAnalysisTaskSEDStarSpectra : public AliAnalysisTaskSE
   virtual void UserExec(Option_t *option);
   virtual void Terminate(Option_t *option);
  
-  //Background simulation
-  void     SideBandBackground(AliAODRecoCascadeHF *part, Bool_t PIDon, Int_t nSigma, AliRDHFCutsDStartoKpipi *cuts, TList *listout);
-  void     WrongSignForDStar(AliAODRecoCascadeHF *part, Bool_t PIDon, Int_t nSigma, AliRDHFCutsDStartoKpipi *cuts, TList *listout);
-  //cuts
-  Bool_t   SingleTrackSelections(const AliAODRecoDecayHF2Prong* theD0particle, const AliAODTrack *track2);
-  Bool_t   SelectPID(const AliAODTrack *track, AliPID::EParticleType pid, Double_t nsig);
-  Bool_t   SelectTOFPID(const AliAODRecoDecayHF2Prong* d, const AliAODTrack *tracksoft);
-  // histos
-  void   FillSpectrum(AliAODRecoCascadeHF *part, Int_t isDStar, Bool_t PIDon, Int_t nSigma, AliRDHFCutsDStartoKpipi *cuts, 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);}
-
-  // 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:
   
   AliAnalysisTaskSEDStarSpectra(const AliAnalysisTaskSEDStarSpectra &source);
@@ -75,20 +78,25 @@ class AliAnalysisTaskSEDStarSpectra : public AliAnalysisTaskSE
   Double_t fD0Window;           //  select width on D0Mass
   Double_t fPeakWindow;          //  select width on DstarMass
   Bool_t fUseMCInfo;             //  Use MC info
+  Bool_t fDoSearch;              //  Rare mesons
   TList *fOutput;                //!  User output
-  TList *fOutputSpectrum;        //!  User output1
   TList *fOutputAll;             //!  User output2
-  TList *fOutputPID3;            //!  User output3
-  TList *fOutputPID2;            //!  User output4
-  TList *fOutputPID1;            //!  User output5
+  TList *fOutputPID;             //!  User output3
   Int_t  fNSigma;                //  n sigma for kaon PID
-  Bool_t fPID;                   //  PID flag
-  AliRDHFCutsDStartoKpipi *fCuts; // Cuts - sent to output slot 7
+  AliRDHFCutsDStartoKpipi *fCuts; // Cuts - sent to output slot 3
   // define the histograms
   TH1F *fCEvents;             //!
   TH2F *fTrueDiff2;           //!
-  ClassDef(AliAnalysisTaskSEDStarSpectra,7); // 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