]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/AliComparisonDEdx.h
DAs upgraded to AliZDCRawStream class
[u/mrichter/AliRoot.git] / PWG1 / AliComparisonDEdx.h
CommitLineData
09b20ad1 1#ifndef ALICOMPARISONDEdx_H
2#define ALICOMPARISONDEdx_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
9//------------------------------------------------------------------------------
10
11class TFile;
12class AliMCInfo;
13class AliESDRecInfo;
14class AliESDEvent;
15class AliESD;
16class AliESDfriend;
17class AliRecInfoCuts;
18class AliMCInfoCuts;
19class TH1I;
20class TH3F;
21class TH3;
22class TProfile;
23class TProfile2D;
24class TGraph2D;
25class TGraph;
3baa4bfd 26class TString;
09b20ad1 27
28#include "TNamed.h"
3baa4bfd 29#include "AliComparisonObject.h"
09b20ad1 30
3baa4bfd 31//class AliComparisonDEdx : public TNamed {
32class AliComparisonDEdx : public AliComparisonObject {
09b20ad1 33public :
34 AliComparisonDEdx();
35 ~AliComparisonDEdx();
3baa4bfd 36
37 // Init data members
38 virtual void Init();
39
40 // Execute analysis
41 virtual void Exec(AliMCInfo* infoMC, AliESDRecInfo *infoRC);
42
43 // Merge output objects (needed by PROOF)
44 virtual Long64_t Merge(TCollection* list);
45
46 // Analyse output histograms
47 virtual void Analyse();
48
49 // Get analysis folder
50 virtual TFolder* GetAnalysisFolder() {return fAnalysisFolder;}
51
52 // Create folder for analysed histograms
53 TFolder *CreateFolder(TString folder = "folderDEdx",TString title = "Analysed DEdx histograms");
54
b4126c69 55 // Export objects to folder
56 TFolder *ExportToFolder(TObjArray * array=0);
57
3baa4bfd 58 // Process events
09b20ad1 59 void Process(AliMCInfo* infoMC, AliESDRecInfo *infoRC);
60
61 // Selection cuts
62 void SetAliRecInfoCuts(AliRecInfoCuts* cuts=0) {fCutsRC = cuts;}
63 void SetAliMCInfoCuts(AliMCInfoCuts* cuts=0) {fCutsMC = cuts;}
64
65 void SetMCPtMin(const Float_t cuts=0) {fMCPtMin = cuts;}
66 void SetMCAbsTanThetaMax(const Float_t cuts=1e99) {fMCAbsTanThetaMax = cuts;}
67 void SetMCPdgCode(const Int_t cuts=0) {fMCPdgCode = cuts;}
68
69 AliRecInfoCuts* GetAliRecInfoCuts() const {return fCutsRC;}
70 AliMCInfoCuts* GetAliMCInfoCuts() const {return fCutsMC;}
71 Float_t GetMCPtMin() const {return fMCPtMin;}
72 Float_t GetMCAbsTanThetaMax() const {return fMCAbsTanThetaMax;}
73 Int_t GetMCPdgCode() const {return fMCPdgCode;}
74
75 static TH1F* MakeResol(TH2F * his, Int_t integ, Bool_t type);
76
09b20ad1 77private:
78
79 // TPC dE/dx
80 TH2F* fTPCSignalNormTan; //-> TPC signal normalized to the calculated MC signal
81 TH2F* fTPCSignalNormSPhi; //-> TPC signal normalized to the calculated MC signal
82 TH2F* fTPCSignalNormTPhi; //-> TPC signal normalized to the calculated MC signal
83 //
84 TH3F* fTPCSignalNormTanSPhi; //-> TPC signal normalized to the calculated MC signal
85 TH3F* fTPCSignalNormTanTPhi; //-> TPC signal normalized to the calculated MC signal
86 TH3F* fTPCSignalNormTanSPt; //-> TPC signal normalized to the calculated MC signal
87
88 // Selection cuts
89 AliRecInfoCuts* fCutsRC; // selection cuts for reconstructed tracks
90 AliMCInfoCuts* fCutsMC; // selection cuts for MC tracks
91
92 Float_t fMCPtMin; // min. MC pt cut
93 Float_t fMCAbsTanThetaMax; // max. MC abs[tan(theta)] cut
94 Int_t fMCPdgCode; // selected particle with Pdg code
95
3baa4bfd 96 // analysis folder
97 TFolder *fAnalysisFolder; // folder for analysed histograms
98
09b20ad1 99 AliComparisonDEdx(const AliComparisonDEdx&); // not implemented
100 AliComparisonDEdx& operator=(const AliComparisonDEdx&); // not implemented
101
102 ClassDef(AliComparisonDEdx,1);
103};
104
105#endif