Added possibility to do cut on TPCnSigma and rapidity in the task.
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TPCTOF / AliAnalysisCombinedHadronSpectra.h
index 523c8c36cbae70048f687fbbf3f5016d9b9022d4..45894392f9afd631727a7346e40f16994af4dfc8 100644 (file)
@@ -11,7 +11,7 @@
 class TH1;
 class TH1F;
 class TH2D;
-class TH3F;
+class TH3D;
 class TList;
 class TObjArray;
 class AliESDEvent;
@@ -40,12 +40,17 @@ class AliAnalysisCombinedHadronSpectra : public AliAnalysisTaskSE {
   void           SetAlephParameters(const Double_t * parameters){for(Int_t j=0;j<5;j++) fAlephParameters[j] = parameters[j]; Initialize();};
   void           SetIsMCtrue(Bool_t isMCdata = kTRUE){fMCtrue = isMCdata;};
   void           SetUseHBTmultiplicity(Bool_t useHBTmultiplicity = kTRUE){fUseHBTmultiplicity = useHBTmultiplicity;};
+  void          SetUseTPConlyTracks(Bool_t useTPConlyTracks = kTRUE){fUseTPConlyTracks = useTPConlyTracks;};
+  void           SetSaveMotherPDG(Bool_t saveMotherPDG =kTRUE){fSaveMotherPDG = saveMotherPDG;};
+  void           SetSmallTHnSparse(Bool_t smallTHnSparse = kFALSE) {fSmallTHnSparse = smallTHnSparse;};
+  void           SetTPCnSigmaCuts(Double_t nSigmaTPCLow = -3., Double_t nSigmaTPCHigh = 3.){fTPCnSigmaCutLow = nSigmaTPCLow; fTPCnSigmaCutHigh = nSigmaTPCHigh;};
+  void           SetRapidityCuts(Double_t rapidityLow = -0.2, Double_t rapidityHigh = 0.2){fRapidityCutLow = rapidityLow; fRapidityCutHigh = rapidityHigh;};
   void           Initialize();
   //
   
  private:
   //
-  void  BinLogAxis(const THnSparse *h, Int_t axisNumber);
+  void  BinLogAxis(const TH1 *h);
   Int_t GetPythiaEventProcessType(const AliHeader* aHeader, const Bool_t adebug = kFALSE) const;
   //
   AliESDEvent *fESD;                   //! ESD object
@@ -57,14 +62,22 @@ class AliAnalysisCombinedHadronSpectra : public AliAnalysisTaskSE {
   Bool_t        fMCtrue;               // flag if real data or MC is processed
   Bool_t        fOnlyQA;               // flag if only QA histograms should be filled
   Bool_t        fUseHBTmultiplicity;   // flag if multiplicity determination should be done as in the HBT paper
+  Bool_t       fUseTPConlyTracks;     // flag if TPConly-track should be used
+  Bool_t        fSaveMotherPDG;        // flag if PDG of mother should be saved (weak decays)
+  Bool_t        fSmallTHnSparse;       // flag if to do cuts on TPC n-sigma and rapidity in task or not
+  Double_t      fTPCnSigmaCutLow;      // low border for TPC n-sigma cut
+  Double_t      fTPCnSigmaCutHigh;     // high border for TPC n-sigma cut
+  Double_t      fRapidityCutLow;       // low border for rapidity cut
+  Double_t      fRapidityCutHigh;      // high border for rapidity cut
   Double_t      fAlephParameters[5];   // Aleph Parameters for Bethe-Bloch
+
   //
   //
   //
-  THnSparseL * fHistRealTracks;        //! histogram with all necessary information for real tracks
-  THnSparseL * fHistMCparticles;       //! histogram with all necessary information for MC particles
+  THnSparseF * fHistRealTracks;        //! histogram with all necessary information for real tracks
+  THnSparseF * fHistMCparticles;       //! histogram with all necessary information for MC particles
   //
-  THnSparseL * fHistPidQA;             //! histogram for the QA of the PID
+  TH3D       * fHistPidQA;             //! histogram for the QA of the PID
   TH2D       * fHistMult;              //! control histogram for multiplicity
   TH1D       * fHistCentrality;        //! control histogram for centrality
   //