]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/PiKaPr/TPCTOF/AliAnalysisCombinedHadronSpectra.h
Save PDG code of mother for weak decays and misidentified category splitted in primar...
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TPCTOF / AliAnalysisCombinedHadronSpectra.h
1 #ifndef ALIANALYSISTASKCHARGEDHADRONSPECTRA_H
2 #define ALIANALYSISTASKCHARGEDHADRONSPECTRA_H
3
4 //////////////////////////////////////////////////////////////////////////////
5 //                                                                          //
6 // This analysis extracts pT-spectra of charged kaons, protons, and pions.  //
7 // It is based on particles identifation via the dE/dx signal of the TPC.   //
8 //                                                                          //
9 //////////////////////////////////////////////////////////////////////////////
10
11 class TH1;
12 class TH1F;
13 class TH2D;
14 class TH3D;
15 class TList;
16 class TObjArray;
17 class AliESDEvent;
18 class AliESDtrack;
19 class AliESDtrackCuts;
20 class AliHeader;
21 class AliESDpid;
22
23
24 #include "AliAnalysisTaskSE.h"
25 #include "THnSparse.h"
26
27 class AliAnalysisCombinedHadronSpectra : public AliAnalysisTaskSE {
28  public:
29   AliAnalysisCombinedHadronSpectra(const char *name);
30   AliAnalysisCombinedHadronSpectra();
31   virtual ~AliAnalysisCombinedHadronSpectra() {}
32   //
33   virtual void   UserCreateOutputObjects();
34   virtual void   UserExec(Option_t *option);
35   virtual void   Terminate(Option_t *);
36   //
37   Bool_t         SelectOnImpPar(AliESDtrack* t);
38   //
39   void           SetESDtrackCuts(AliESDtrackCuts * trackCuts){fESDtrackCuts = trackCuts;};
40   void           SetAlephParameters(const Double_t * parameters){for(Int_t j=0;j<5;j++) fAlephParameters[j] = parameters[j]; Initialize();};
41   void           SetIsMCtrue(Bool_t isMCdata = kTRUE){fMCtrue = isMCdata;};
42   void           SetUseHBTmultiplicity(Bool_t useHBTmultiplicity = kTRUE){fUseHBTmultiplicity = useHBTmultiplicity;};
43   void           SetUseTPConlyTracks(Bool_t useTPConlyTracks = kTRUE){fUseTPConlyTracks = useTPConlyTracks;};
44   void           SetSaveMotherPDG(Bool_t saveMotherPDG =kTRUE){fSaveMotherPDG = saveMotherPDG;};
45   void           Initialize();
46   //
47   
48  private:
49   //
50   void  BinLogAxis(const TH1 *h);
51   Int_t GetPythiaEventProcessType(const AliHeader* aHeader, const Bool_t adebug = kFALSE) const;
52   //
53   AliESDEvent *fESD;                   //! ESD object
54   TList       *fListHist;              //! list for histograms
55   //
56   AliESDtrackCuts * fESDtrackCuts;     // basic cut variables
57   AliESDtrackCuts * fESDTrackCutsMult; // cuts for the MULTIPLICITY DETERMINATION
58   AliESDpid       * fESDpid;           // basic TPC object for n-sigma cuts
59   Bool_t        fMCtrue;               // flag if real data or MC is processed
60   Bool_t        fOnlyQA;               // flag if only QA histograms should be filled
61   Bool_t        fUseHBTmultiplicity;   // flag if multiplicity determination should be done as in the HBT paper
62   Bool_t        fUseTPConlyTracks;     // flag if TPConly-track should be used
63   Bool_t        fSaveMotherPDG;        // flag if PDG of mother should be saved (weak decays)
64   Double_t      fAlephParameters[5];   // Aleph Parameters for Bethe-Bloch
65   //
66   //
67   //
68   THnSparseF * fHistRealTracks;        //! histogram with all necessary information for real tracks
69   THnSparseF * fHistMCparticles;       //! histogram with all necessary information for MC particles
70   //
71   TH3D       * fHistPidQA;             //! histogram for the QA of the PID
72   TH2D       * fHistMult;              //! control histogram for multiplicity
73   TH1D       * fHistCentrality;        //! control histogram for centrality
74   //
75   AliAnalysisCombinedHadronSpectra(const AliAnalysisCombinedHadronSpectra&); 
76   AliAnalysisCombinedHadronSpectra& operator=(const AliAnalysisCombinedHadronSpectra&); 
77
78   ClassDef(AliAnalysisCombinedHadronSpectra, 1); 
79 };
80
81 #endif