Adding abstract class for comparison components
[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
12class TFile;
13class AliMCInfo;
14class AliESDRecInfo;
15class AliESDEvent;
16class AliESD;
17class AliESDfriend;
18class AliRecInfoCuts;
19class AliMCInfoCuts;
20class TH1I;
21class TH3F;
22class TH3;
23class TProfile;
24class TProfile2D;
3baa4bfd 25class TString;
09b20ad1 26class AliESDVertex;
27
28#include "TNamed.h"
3baa4bfd 29#include "AliComparisonObject.h"
09b20ad1 30
3baa4bfd 31//class AliComparisonDCA : public TNamed {
32class AliComparisonDCA : public AliComparisonObject {
09b20ad1 33public :
34 AliComparisonDCA();
35 ~AliComparisonDCA();
09b20ad1 36
3baa4bfd 37 // Init data members
38 virtual void Init();
39
40 // Execute analysis
41 virtual void Exec(AliMCInfo* infoMC, AliESDRecInfo *infoRC);
09b20ad1 42
43 // Merge output objects (needed by PROOF)
44 virtual Long64_t Merge(TCollection* list);
45
46 // Analyse output histograms
3baa4bfd 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 = "folderDCA",TString title = "Analysed DCA histograms");
54
55 // Process events
56 void Process(AliMCInfo* infoMC, AliESDRecInfo *infoRC);
57
58 // Selection cuts
59 void SetAliRecInfoCuts(AliRecInfoCuts* cuts=0) {fCutsRC = cuts;}
60 void SetAliMCInfoCuts(AliMCInfoCuts* cuts=0) {fCutsMC = cuts;}
61
62 AliRecInfoCuts* GetAliRecInfoCuts() const {return fCutsRC;}
63 AliMCInfoCuts* GetAliMCInfoCuts() const {return fCutsMC;}
09b20ad1 64
65private:
66 // DCA resolution
67 TH3F *fD0TanSPtB1; //-> distance to vertex y (no ITS clusters)
68 TH3F *fD1TanSPtB1; //-> distance to vertex z (no ITS clusters)
69 TH3F *fD0TanSPtL1; //-> distance to vertex y
70 TH3F *fD1TanSPtL1; //-> distance to vertex z
71 TH3F *fD0TanSPtInTPC; //-> distance to vertex y (Inner TPC track parameters)
72 TH3F *fD1TanSPtInTPC; //-> distance to vertex z (Inner TPC track parameters)
73
74 AliESDVertex *fVertex; //!
75
76 // Global cuts objects
77 AliRecInfoCuts* fCutsRC; // selection cuts for reconstructed tracks
78 AliMCInfoCuts* fCutsMC; // selection cuts for MC tracks
79
3baa4bfd 80 // analysis folder
81 TFolder *fAnalysisFolder; // folder for analysed histograms
82
09b20ad1 83 AliComparisonDCA(const AliComparisonDCA&); // not implemented
84 AliComparisonDCA& operator=(const AliComparisonDCA&); // not implemented
85
86 ClassDef(AliComparisonDCA,1);
87};
88
89#endif