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
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
9 #ifndef ALIANACONVCORRBASE_CXX
\r
10 #define ALIANACONVCORRBASE_CXX
\r
20 class AliAODConversionParticle;
\r
26 class AliAnaConvCorrBase : public TObject {
\r
32 //Constructor / desctructor
\r
33 AliAnaConvCorrBase(TString name);
\r
34 virtual ~AliAnaConvCorrBase();
\r
36 //Set and get min pt for triggers
\r
37 // void SetTriggerPt(Float_t pt) { fTriggerPt = pt; }
\r
38 // inline Float_t GetTriggerPt() const {return fTriggerPt; }
\r
41 // //Set and get min pt for correlation particles
\r
42 // void SetCorrelatedPt(Float_t pt) { fCorrelatedPt = pt; }
\r
43 // inline Float_t GetCorrelatedPt() const {return fCorrelatedPt; }
\r
46 void CreateBaseHistograms();
\r
47 //To be overrriden by children. Should always call CreateBaseHistograms()
\r
48 virtual void CreateHistograms();
\r
50 //Get list of histograms
\r
51 TList * GetHistograms() const { return fHistograms;}
\r
53 //Add histogram to list
\r
54 void AddHistogram(TH1 * histogram) { fHistograms->Add(dynamic_cast<TObject*>(histogram));}
\r
56 //Set and get number of bins in phi direction
\r
57 void SetNPhiBins(Int_t bins) { fNPhiBins = bins; }
\r
58 Int_t GetNPhiBins() const { return fNPhiBins;}
\r
60 ///Get the distance in phi between trigger particle and correlated particle
\r
61 Float_t GetDPhi(Float_t dPhi) {
\r
62 if ( dPhi < 3*TMath::PiOver2() && dPhi > - TMath::PiOver2() ) return dPhi;
\r
63 else return ( (dPhi>0)? dPhi - TMath::TwoPi() : dPhi + TMath::TwoPi() );
\r
67 TArrayD * GetTriggerBins() const { return fPtBins; }
\r
69 //Print statistics for histograms
\r
70 void PrintStatistics();
\r
76 void FillHistograms(Float_t tPt, Float_t cPt, Float_t dPhi, Float_t dEta, Bool_t isolated);
\r
77 //Fill trigger counter histograms
\r
78 void FillTriggerCounters(Float_t tPt, Bool_t isolated);
\r
82 TString fName; //name of analysis
\r
83 TList * fHistograms; //List of histograms
\r
85 Int_t fNPhiBins; //Nbins in phi direction
\r
86 TArrayD * fdPhiBins; //!transient phi bin array
\r
87 TArrayD * fPtBins; //!Array of trigger bins
\r
90 TH3F * fHdPhi[2]; //dPhi pt histogram
\r
91 TH1F * fHNTriggers[2]; //Histograms containing number of triggers in various bins
\r
94 //Default constructor prohibited
\r
95 AliAnaConvCorrBase(); //not implemented
\r
96 AliAnaConvCorrBase(const AliAnaConvCorrBase&); // not implemented
\r
97 AliAnaConvCorrBase& operator=(const AliAnaConvCorrBase&); // not implemented
\r
98 ClassDef(AliAnaConvCorrBase, 3); // example of analysis
\r