]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/GammaConv/AliAnaConvCorrBase.h
-Move cent, z axis into sparse
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliAnaConvCorrBase.h
CommitLineData
fc7e3b59 1/* This file is property of and copyright *\r
2 * ALICE Experiment at CERN, All rights reserved. *\r
3 * See cxx source for full Copyright notice */\r
4\r
5/// @file AliAnaConvCorrPhoton.h\r
6/// @author Svein Lindal\r
7/// @brief Base class for analysis of correlations between conversion particles and charged tracks\r
8\r
9#ifndef ALIANACONVCORRBASE_CXX\r
10#define ALIANACONVCORRBASE_CXX\r
11\r
12#include "Rtypes.h"\r
13#include "TMath.h"\r
14#include "TList.h"\r
15#include "TH1.h"\r
296f4e9c 16#include <THnSparse.h>\r
fc7e3b59 17\r
fc7e3b59 18class AliAODConversionParticle;\r
19class TClonesArray;\r
fc7e3b59 20class TString;\r
21\r
296f4e9c 22class AliAnaConvCorrBase : public TNamed {\r
fc7e3b59 23\r
24public:\r
25\r
26 \r
27\r
28 //Constructor / desctructor\r
296f4e9c 29 AliAnaConvCorrBase(TString name, TString title); \r
fc7e3b59 30 virtual ~AliAnaConvCorrBase();\r
31 \r
fc7e3b59 32 //CreateHistograms\r
811b0806 33 void CreateBaseHistograms();\r
34 //To be overrriden by children. Should always call CreateBaseHistograms()\r
35 virtual void CreateHistograms();\r
fc7e3b59 36 \r
37 //Get list of histograms\r
38 TList * GetHistograms() const { return fHistograms;}\r
39\r
40 //Add histogram to list\r
41 void AddHistogram(TH1 * histogram) { fHistograms->Add(dynamic_cast<TObject*>(histogram));}\r
42\r
296f4e9c 43 void AddAxis(TAxis * axis) { fAxesList.Add(axis); }\r
fc7e3b59 44\r
45 ///Get the distance in phi between trigger particle and correlated particle\r
46 Float_t GetDPhi(Float_t dPhi) { \r
47 if ( dPhi < 3*TMath::PiOver2() && dPhi > - TMath::PiOver2() ) return dPhi;\r
48 else return ( (dPhi>0)? dPhi - TMath::TwoPi() : dPhi + TMath::TwoPi() ); \r
49 }\r
50\r
6252ea9d 51 void CorrelateWithTracks(AliAODConversionParticle * particle, TObjArray * tracks, const Int_t tIDs[4], Float_t cent, Float_t vtxz);\r
52 void FillCounters(TObjArray * particles, TObjArray * tracks, Float_t cent, Float_t vtxz);\r
296f4e9c 53\r
3bff49c3 54 TAxis& GetAxistPt() { return fAxistPt; }\r
55 TAxis& GetAxiscPt() { return fAxiscPt; }\r
56 TAxis& GetAxisdEta() { return fAxisdEta; }\r
57 TAxis& GetAxisdPhi() { return fAxisdPhi; }\r
58 TAxis& GetAxisIso() { return fAxisIso; }\r
6252ea9d 59 TAxis& GetAxisCent() { return fAxisCent; }\r
60 TAxis& GetAxisZ() { return fAxisZ; }\r
3bff49c3 61 TAxis& GetAxisMEEta() { return fAxisMEEta; }\r
62 TAxis& GetAxisMEPhi() { return fAxisMEPhi; }\r
63\r
64 TList& GetAxisList() { return fAxesList; }\r
65 TList& GetTrackAxisList() { return fTrackAxisList; }\r
66 TList& GetTrigAxisList() { return fTrigAxisList; }\r
fc7e3b59 67\r
68\r
69protected:\r
70\r
296f4e9c 71 THnSparseF * CreateSparse(TString name, TString title, TList * axes);\r
296f4e9c 72\r
73private:\r
fc7e3b59 74\r
296f4e9c 75 void SetUpDefaultBins();\r
fc7e3b59 76 \r
296f4e9c 77 //TString fName; //name of analysis\r
fc7e3b59 78 TList * fHistograms; //List of histograms\r
296f4e9c 79 TList fAxesList; //List over axes to be used in sparse\r
3bff49c3 80 TList fTrigAxisList; //list\r
81 TList fTrackAxisList; //list\r
fc7e3b59 82\r
296f4e9c 83 TAxis fAxistPt; //Pt axis\r
84 TAxis fAxiscPt; //correlated particle pt axis\r
85 TAxis fAxisdEta; //delta eta axis\r
86 TAxis fAxisdPhi; //delta phi axis\r
3bff49c3 87 TAxis fAxisIso; //Isolated particle axis\r
6252ea9d 88 TAxis fAxisCent; //Centrality\r
89 TAxis fAxisZ; //vtx\r
fc7e3b59 90 \r
3bff49c3 91 TAxis fAxisMEEta ; //Eta axis for ME\r
92 TAxis fAxisMEPhi ; //Phi axis for ME\r
93\r
94 THnSparseF * fCorrSparse; // Sparse for corr\r
95 THnSparseF * fTrigSparse; // ME Sparse\r
96 THnSparseF * fTrackSparse; //Track Sparse\r
811b0806 97\r
fc7e3b59 98 //Default constructor prohibited\r
99 AliAnaConvCorrBase(); //not implemented\r
100 AliAnaConvCorrBase(const AliAnaConvCorrBase&); // not implemented\r
101 AliAnaConvCorrBase& operator=(const AliAnaConvCorrBase&); // not implemented\r
296f4e9c 102\r
6252ea9d 103 ClassDef(AliAnaConvCorrBase, 6); // example of analysis\r
296f4e9c 104\r
fc7e3b59 105};\r
106\r
107#endif\r