]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/AliComparisonDCA.h
Update of the alignment-data fileting macro including a fix for the access to the...
[u/mrichter/AliRoot.git] / PWG1 / AliComparisonDCA.h
CommitLineData
09b20ad1 1#ifndef ALICOMPARISONDCA_H
2#define ALICOMPARISONDCA_H
3
4//------------------------------------------------------------------------------
5// Class to keep information from comparison of
6// reconstructed and MC particle tracks (DCA - Distance of Closest Approach
7// to the vertex).
8//
9// Author: J.Otwinowski 04/02/2008
10//------------------------------------------------------------------------------
11
09b20ad1 12class AliMCInfo;
13class AliESDRecInfo;
14class AliESDEvent;
09b20ad1 15class AliRecInfoCuts;
16class AliMCInfoCuts;
71a14197 17class AliESDVertex;
09b20ad1 18class TH3F;
19class TH3;
3baa4bfd 20class TString;
71a14197 21class TNamed;
09b20ad1 22
71a14197 23#include "THnSparse.h"
3baa4bfd 24#include "AliComparisonObject.h"
09b20ad1 25
3baa4bfd 26class AliComparisonDCA : public AliComparisonObject {
09b20ad1 27public :
28 AliComparisonDCA();
71a14197 29 AliComparisonDCA(Char_t* name, Char_t* title, Int_t analysisMode, Bool_t hptGenerator);
09b20ad1 30 ~AliComparisonDCA();
09b20ad1 31
3baa4bfd 32 // Init data members
33 virtual void Init();
34
35 // Execute analysis
71a14197 36 virtual void Exec(AliMCInfo* const infoMC, AliESDRecInfo *const infoRC);
09b20ad1 37
38 // Merge output objects (needed by PROOF)
71a14197 39 virtual Long64_t Merge(TCollection* const list);
09b20ad1 40
41 // Analyse output histograms
3baa4bfd 42 virtual void Analyse();
43
44 // Get analysis folder
71a14197 45 virtual TFolder* GetAnalysisFolder() const {return fAnalysisFolder;}
3baa4bfd 46
47 // Create folder for analysed histograms
48 TFolder *CreateFolder(TString folder = "folderDCA",TString title = "Analysed DCA histograms");
49
b4126c69 50 // Export objects to folder
51 TFolder *ExportToFolder(TObjArray * array=0);
52
3baa4bfd 53 // Process events
71a14197 54 void ProcessTPC(AliMCInfo* const infoMC, AliESDRecInfo* const infoRC);
55 void ProcessTPCITS(AliMCInfo* const infoMC, AliESDRecInfo* const infoRC);
56 void ProcessConstrained(AliMCInfo* const infoMC, AliESDRecInfo* const infoRC); // not implemented
3baa4bfd 57
58 // Selection cuts
71a14197 59 void SetAliRecInfoCuts(AliRecInfoCuts* const cuts=0) {fCutsRC = cuts;}
60 void SetAliMCInfoCuts(AliMCInfoCuts* const cuts=0) {fCutsMC = cuts;}
3baa4bfd 61
62 AliRecInfoCuts* GetAliRecInfoCuts() const {return fCutsRC;}
63 AliMCInfoCuts* GetAliMCInfoCuts() const {return fCutsMC;}
09b20ad1 64
35771050 65 // getters
71a14197 66 /*
67 TH3F *GetD0TanSPtTPCITS() const {return fD0TanSPtTPCITS;}
68 TH3F *GetD1TanSPtTPCITS() const {return fD1TanSPtTPCITS;}
69 TH3F *GetD0TanSPt() const {return fD0TanSPt;}
70 TH3F *GetD1TanSPt() const {return fD1TanSPt;}
71 TH3F *GetD0TanSPtTPC() const {return fD0TanSPtTPC;}
72 TH3F *GetD1TanSPtTPC() const {return fD1TanSPtTPC;}
73 */
74
75 // DCA
76 THnSparse* GetDCAHisto() const {return fDCAHisto;}
35771050 77
09b20ad1 78private:
71a14197 79
80 // DCA histograms
81 THnSparseF *fDCAHisto; //-> dca_r:dca_z:eta:pt
82
83 /*
35771050 84 TH3F *fD0TanSPtTPCITS; //-> distance to vertex y (TPC+ITS clusters)
85 TH3F *fD1TanSPtTPCITS; //-> distance to vertex z (TPC+ITS clusters)
86 TH3F *fD0TanSPt; //-> distance to vertex y
87 TH3F *fD1TanSPt; //-> distance to vertex z
88 TH3F *fD0TanSPtTPC; //-> distance to vertex y (only TPC track parameters)
89 TH3F *fD1TanSPtTPC; //-> distance to vertex z (only TPC track parameters)
71a14197 90 */
09b20ad1 91
92 // Global cuts objects
93 AliRecInfoCuts* fCutsRC; // selection cuts for reconstructed tracks
94 AliMCInfoCuts* fCutsMC; // selection cuts for MC tracks
95
3baa4bfd 96 // analysis folder
97 TFolder *fAnalysisFolder; // folder for analysed histograms
98
09b20ad1 99 AliComparisonDCA(const AliComparisonDCA&); // not implemented
100 AliComparisonDCA& operator=(const AliComparisonDCA&); // not implemented
101
102 ClassDef(AliComparisonDCA,1);
103};
104
105#endif