]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/JetTasks/AliUEHistograms.h
added corrections for delta phi UE event distribution
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliUEHistograms.h
1 #ifndef AliUEHistograms_H
2 #define AliUEHistograms_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id: AliUEHistograms.h 20164 2007-08-14 15:31:50Z morsch $ */
8
9 // encapsulates several AliUEHist objects for a full UE analysis plus additional control histograms
10
11 #include "TObject.h"
12 #include "AliUEHist.h"
13
14 class AliVParticle;
15
16 class TList;
17 class TH1F;
18 class TH2F;
19 class TH3F;
20
21 class AliUEHistograms : public TObject
22 {
23  public:
24   AliUEHistograms();
25   virtual ~AliUEHistograms();
26   
27   void Fill(Int_t eventType, AliUEHist::CFStep step, AliVParticle* leading, TList* toward, TList* away, TList* min, TList* max);
28   void Fill(AliVParticle* leadingMC, AliVParticle* leadingReco);
29   void FillEvent(Int_t eventType, Int_t step);
30   void FillTrackingEfficiency(TObjArray* mc, TObjArray* recoPrim, TObjArray* recoAll, Int_t particleType);
31   
32   void CopyReconstructedData(AliUEHistograms* from);
33   
34   AliUEHist* GetUEHist(Int_t id);
35   
36   AliUEHist* GetNumberDensitypT() { return fNumberDensitypT; }
37   AliUEHist* GetSumpT() { return fSumpT; }
38   AliUEHist* GetNumberDensityPhi() { return fNumberDensityPhi; }
39   
40   TH2F* GetCorrelationpT()  { return fCorrelationpT; }
41   TH2F* GetCorrelationEta() { return fCorrelationEta; }
42   TH2F* GetCorrelationPhi() { return fCorrelationPhi; }
43   TH2F* GetCorrelationR()   { return fCorrelationR; }
44   TH2F* GetCorrelationLeading2Phi() { return fCorrelationLeading2Phi; }
45   TH2F* GetCorrelationMultiplicity() { return fCorrelationMultiplicity; }
46   
47   TH2F* GetEventCount()     { return fEventCount; }
48   TH3F* GetEventCountDifferential() { return fEventCountDifferential; }
49   TH1F* GetVertexContributors() { return fVertexContributors; }
50   
51   void Correct(AliUEHistograms* corrections);
52   
53   void SetEtaRange(Float_t etaMin, Float_t etaMax);
54   void SetPtRange(Float_t ptMin, Float_t ptMax);
55   void SetContaminationEnhancement(TH1F* hist);
56   void SetCombineMinMax(Bool_t flag);
57   
58   AliUEHistograms(const AliUEHistograms &c);
59   AliUEHistograms& operator=(const AliUEHistograms& c);
60   virtual void Copy(TObject& c) const;
61
62   virtual Long64_t Merge(TCollection* list);
63   
64 protected:
65   void FillRegion(AliUEHist::Region region, AliUEHist::CFStep step, AliVParticle* leading, TList* list, Int_t multiplicity);
66   Int_t CountParticles(TList* list, Float_t ptMin);
67
68   AliUEHist* fNumberDensitypT;   // d^2N/dphideta vs pT,lead
69   AliUEHist* fSumpT;             // d^2 sum(pT)/dphideta vs pT,lead
70   AliUEHist* fNumberDensityPhi;  // d^2N/dphideta vs delta phi,lead (in pT,lead bins)
71   
72   TH2F* fCorrelationpT;         // pT,lead: true vs reco
73   TH2F* fCorrelationEta;        // #eta,lead; true vs reco
74   TH2F* fCorrelationPhi;        // #phi,lead; true vs reco
75   TH2F* fCorrelationR;          // R = sqrt(delta eta^2 + delta phi^2) (true vs reco) vs pT,lead,MC
76   TH2F* fCorrelationLeading2Phi;// delta phi (true vs reco) vs pT,lead,MC
77   TH2F* fCorrelationMultiplicity; // number of mc particls vs reco particles (for pT > 0.5 GeV/c)
78   
79   TH2F* fEventCount;            // event count as function of step, event type (plus additional step -1 for all events without vertex range even in MC)
80   TH3F* fEventCountDifferential;// event count as function of leading pT, step, event type
81   
82   TH1F* fVertexContributors;    // number of contributors to the vertex
83   
84   ClassDef(AliUEHistograms, 1)  // underlying event histogram container
85 };
86
87 #endif