1 #ifndef ALICOMPARISONRES_H
2 #define ALICOMPARISONRES_H
4 //------------------------------------------------------------------------------
5 // Class to keep information from comparison of
6 // reconstructed and MC particle tracks (TPC resolution).
8 // Author: J.Otwinowski 04/02/2008
9 //------------------------------------------------------------------------------
28 #include "AliComparisonObject.h"
30 class AliComparisonRes : public AliComparisonObject {
33 virtual ~AliComparisonRes();
39 virtual void Exec(AliMCInfo* infoMC, AliESDRecInfo *infoRC);
41 // Merge output objects (needed by PROOF)
42 virtual Long64_t Merge(TCollection* list);
44 // Analyse output histograms
45 virtual void Analyse();
47 // Get analysis folder
48 virtual TFolder* GetAnalysisFolder() {return fAnalysisFolder;}
51 void ProcessConstrained(AliMCInfo* infoMC, AliESDRecInfo *infoRC);
52 void Process(AliMCInfo* infoMC, AliESDRecInfo *infoRC);
54 // Create folder for analysed histograms
55 TFolder *CreateFolder(TString folder = "folderRes",TString title = "Analysed Resolution histograms");
58 void SetAliRecInfoCuts(AliRecInfoCuts* cuts=0) {fCutsRC = cuts;}
59 void SetAliMCInfoCuts(AliMCInfoCuts* cuts=0) {fCutsMC = cuts;}
61 AliRecInfoCuts* GetAliRecInfoCuts() const {return fCutsRC;}
62 AliMCInfoCuts* GetAliMCInfoCuts() const {return fCutsMC;}
64 static TH1F* MakeResol(TH2F * his, Int_t integ, Bool_t type);
71 TH2F* fPtResolLPT; //-> pt resolution - low pt
72 TH2F* fPtResolHPT; //-> pt resolution - high pt
73 TH2F* fPtPullLPT; //-> pt resolution - low pt
74 TH2F* fPtPullHPT; //-> pt resolution - high pt
77 // Resolution constrained param
79 TH2F *fCPhiResolTan; //-> angular resolution - constrained
80 TH2F *fCTanResolTan; //-> angular resolution - constrained
81 TH2F *fCPtResolTan; //-> pt resolution - constrained
82 TH2F *fCPhiPullTan; //-> angular resolution - constrained
83 TH2F *fCTanPullTan; //-> angular resolution - constrained
84 TH2F *fCPtPullTan; //-> pt resolution - constrained
87 // Histograms for track resolution parameterisation
90 TH2F* f1Pt2ResolS1PtTPC; //-> (1/mcpt-1/pt)/(1+1/pt)^2 vs sqrt(1/pt) (TPC)
91 TH2F* f1Pt2ResolS1PtTPCITS; //-> (1/mcpt-1/pt)/(1+1/pt)^2 vs sqrt(1/pt) (TPC+ITS)
92 TH2F* fYResolS1PtTPC; //-> (mcy-y)/(0.2+1/pt) vs sqrt(1/pt) (TPC)
93 TH2F* fYResolS1PtTPCITS; //-> (mcy-y)/(0.2+1/pt) vs sqrt(1/pt) (TPC + ITS)
94 TH2F* fZResolS1PtTPC; //-> (mcz-z)/(0.2+1/pt) vs sqrt(1/pt) (TPC)
95 TH2F* fZResolS1PtTPCITS; //-> (mcz-z)/(0.2+1/pt) vs sqrt(1/pt) (TPC+ITS)
96 TH2F* fPhiResolS1PtTPC; //-> (mcphi-phi)/(0.1+1/pt) vs sqrt(1/pt) (TPC)
97 TH2F* fPhiResolS1PtTPCITS; //-> (mcphi-phi)/(0.1+1/pt) vs sqrt(1/pt) (TPC+ITS)
98 TH2F* fThetaResolS1PtTPC; //-> (mctheta-theta)/(0.1+1/pt) vs sqrt(1/pt) (TPC)
99 TH2F* fThetaResolS1PtTPCITS; //-> (mctheta-theta)/(0.1+1/pt) vs sqrt(1/pt) (TPC+ITS)
102 TH2F* fC1Pt2ResolS1PtTPC; //-> (1/mcpt-1/pt)/(1+1/pt)^2 vs sqrt(1/pt) (TPC)
103 TH2F* fC1Pt2ResolS1PtTPCITS; //-> (1/mcpt-1/pt)/(1+1/pt)^2 vs sqrt(1/pt) (TPC+ITS)
104 TH2F* fCYResolS1PtTPC; //-> (mcy-y)/(0.2+1/pt) vs sqrt(1/pt) (TPC)
105 TH2F* fCYResolS1PtTPCITS; //-> (mcy-y)/(0.2+1/pt) vs sqrt(1/pt) (TPC + ITS)
106 TH2F* fCZResolS1PtTPC; //-> (mcz-z)/(0.2+1/pt) vs sqrt(1/pt) (TPC)
107 TH2F* fCZResolS1PtTPCITS; //-> (mcz-z)/(0.2+1/pt) vs sqrt(1/pt) (TPC+ITS)
108 TH2F* fCPhiResolS1PtTPC; //-> (mcphi-phi)/(0.1+1/pt) vs sqrt(1/pt) (TPC)
109 TH2F* fCPhiResolS1PtTPCITS; //-> (mcphi-phi)/(0.1+1/pt) vs sqrt(1/pt) (TPC+ITS)
110 TH2F* fCThetaResolS1PtTPC; //-> (mctheta-theta)/(0.1+1/pt) vs sqrt(1/pt) (TPC)
111 TH2F* fCThetaResolS1PtTPCITS; //-> (mctheta-theta)/(0.1+1/pt) vs sqrt(1/pt) (TPC+ITS)
113 AliESDVertex *fVertex; //!
115 // Global cuts objects
116 AliRecInfoCuts* fCutsRC; // selection cuts for reconstructed tracks
117 AliMCInfoCuts* fCutsMC; // selection cuts for MC tracks
120 TFolder *fAnalysisFolder; // folder for analysed histograms
122 AliComparisonRes(const AliComparisonRes&); // not implemented
123 AliComparisonRes& operator=(const AliComparisonRes&); // not implemented
125 ClassDef(AliComparisonRes,1);