]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/TPC/AliPerformanceDEdx.h
dont create any files in place to avoid problems with eos
[u/mrichter/AliRoot.git] / PWGPP / TPC / AliPerformanceDEdx.h
CommitLineData
7cc34f08 1#ifndef ALIPERFORMANCEDEdx_H
2#define ALIPERFORMANCEDEdx_H
3
4//------------------------------------------------------------------------------
5// Class to keep information from comparison of
6// reconstructed and MC particle tracks (TPC dE/dx).
7//
8// Author: J.Otwinowski 04/02/2008
814d192f 9// Changes by M.Knichel 15/10/2010
7cc34f08 10//------------------------------------------------------------------------------
11
12class TCanvas;
13class TH1F;
14class TH2F;
15class TNamed;
16class TString;
17
18class AliESDEvent;
19class AliESDfriend;
20class AliMCEvent;
21class AliESDtrack;
22class AliStack;
23class AliRecInfoCuts;
24class AliMCInfoCuts;
25
26#include "THnSparse.h"
27#include "AliPerformanceObject.h"
28
29class AliPerformanceDEdx : public AliPerformanceObject {
30public :
4823e4d4 31 AliPerformanceDEdx(const Char_t* name="AliPerformanceDEdx", const Char_t* title="AliPerformanceDEdx",Int_t analysisMode=0, Bool_t hptGenerator=kFALSE);
32
33 virtual ~AliPerformanceDEdx();
7cc34f08 34
35 // Init data members
36 virtual void Init();
37
38 // Execute analysis
39 virtual void Exec(AliMCEvent* const mcEvent, AliESDEvent *const esdEvent, AliESDfriend *const esdFriend, const Bool_t bUseMC, const Bool_t bUseESDfriend);
40
41 // Merge output objects (needed by PROOF)
42 virtual Long64_t Merge(TCollection* const list);
43
44 // Analyse output histograms
45 virtual void Analyse();
46
47 // Get analysis folder
48 virtual TFolder* GetAnalysisFolder() const {return fAnalysisFolder;}
28bb9d1f 49
50 static Bool_t GetMergeTHnSparse() { return fgMergeTHnSparse; }
56958768 51 static void SetMergeTHnSparse(Bool_t mergeTHnSparse) {fgUseMergeTHnSparse = kTRUE; fgMergeTHnSparse = mergeTHnSparse; }
7cc34f08 52
53 // Create folder for analysed histograms
54 TFolder *CreateFolder(TString folder = "folderDEdx",TString title = "Analysed DEdx histograms");
55
56 // Export objects to folder
57 TFolder *ExportToFolder(TObjArray * array=0);
58
59 // Process events
60 void ProcessTPC(AliStack* const stack, AliESDtrack *const esdTrack); // not implemented
758320f7 61 void ProcessInnerTPC(AliStack* const stack, AliESDtrack *const esdTrack, AliESDEvent *const esdEvent);
7cc34f08 62 void ProcessTPCITS(AliStack* const stack, AliESDtrack *const esdTrack); // not implemented
63 void ProcessConstrained(AliStack* const stack, AliESDtrack *const esdTrack); // not implemented
64
814d192f 65
66 // produce summary (currently not used)
67 virtual TTree* CreateSummary();
68
7cc34f08 69 // Selection cuts
70 void SetAliRecInfoCuts(AliRecInfoCuts* const cuts=0) {fCutsRC = cuts;}
71 void SetAliMCInfoCuts(AliMCInfoCuts* const cuts=0) {fCutsMC = cuts;}
72
28bb9d1f 73 AliRecInfoCuts* GetAliRecInfoCuts() const {return fCutsRC;}
74 AliMCInfoCuts* GetAliMCInfoCuts() const {return fCutsMC;}
7cc34f08 75
76 //
77 // TPC dE/dx
78 //
79 THnSparse* GetDeDxHisto() const {return fDeDxHisto;}
28bb9d1f 80 TObjArray* GetHistos() const { return fFolderObj; }
7cc34f08 81
82private:
83
28bb9d1f 84 static Bool_t fgMergeTHnSparse;
56958768 85 static Bool_t fgUseMergeTHnSparse;
28bb9d1f 86
7cc34f08 87 // TPC dE/dx
ef1ed531 88 THnSparseF *fDeDxHisto; //-> signal:phi:y:z:snp:tgl:ncls:p:nclsDEdx:nclsF
28bb9d1f 89 TObjArray* fFolderObj; // array of analysed histograms
7cc34f08 90
91 // Selection cuts
92 AliRecInfoCuts* fCutsRC; // selection cuts for reconstructed tracks
93 AliMCInfoCuts* fCutsMC; // selection cuts for MC tracks
94
95 // analysis folder
96 TFolder *fAnalysisFolder; // folder for analysed histograms
28bb9d1f 97
7cc34f08 98
99 AliPerformanceDEdx(const AliPerformanceDEdx&); // not implemented
100 AliPerformanceDEdx& operator=(const AliPerformanceDEdx&); // not implemented
101
15e4c8af 102 ClassDef(AliPerformanceDEdx,4);
7cc34f08 103};
104
105#endif