]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/JetTasks/AliUEHistograms.h
added all corrections for EMCAL for periods LHC10d and LHC10e
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliUEHistograms.h
CommitLineData
a75aacd6 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
e0331fd9 11#include "TNamed.h"
a75aacd6 12#include "AliUEHist.h"
13
14class AliVParticle;
15
16class TList;
bf58cbde 17class TSeqCollection;
a75aacd6 18class TH1F;
19class TH2F;
20class TH3F;
21
e0331fd9 22class AliUEHistograms : public TNamed
a75aacd6 23{
24 public:
e0331fd9 25 AliUEHistograms(const char* name = "AliUEHistograms", const char* histograms = "123");
a75aacd6 26 virtual ~AliUEHistograms();
27
28 void Fill(Int_t eventType, AliUEHist::CFStep step, AliVParticle* leading, TList* toward, TList* away, TList* min, TList* max);
c7245604 29 void FillCorrelations(Int_t eventType, Double_t centrality, AliUEHist::CFStep step, TSeqCollection* particles, TSeqCollection* mixed = 0, Float_t weight = 1, Bool_t firstTime = kTRUE);
a75aacd6 30 void Fill(AliVParticle* leadingMC, AliVParticle* leadingReco);
31 void FillEvent(Int_t eventType, Int_t step);
c7245604 32 void FillTrackingEfficiency(TObjArray* mc, TObjArray* recoPrim, TObjArray* recoAll, Int_t particleType, Double_t centrality = 0);
b1831bcb 33
34 void CopyReconstructedData(AliUEHistograms* from);
a75aacd6 35
ada1a03f 36 AliUEHist* GetUEHist(Int_t id);
37
a75aacd6 38 AliUEHist* GetNumberDensitypT() { return fNumberDensitypT; }
39 AliUEHist* GetSumpT() { return fSumpT; }
40 AliUEHist* GetNumberDensityPhi() { return fNumberDensityPhi; }
41
42 TH2F* GetCorrelationpT() { return fCorrelationpT; }
43 TH2F* GetCorrelationEta() { return fCorrelationEta; }
44 TH2F* GetCorrelationPhi() { return fCorrelationPhi; }
45 TH2F* GetCorrelationR() { return fCorrelationR; }
46 TH2F* GetCorrelationLeading2Phi() { return fCorrelationLeading2Phi; }
47 TH2F* GetCorrelationMultiplicity() { return fCorrelationMultiplicity; }
48
49 TH2F* GetEventCount() { return fEventCount; }
50 TH3F* GetEventCountDifferential() { return fEventCountDifferential; }
51 TH1F* GetVertexContributors() { return fVertexContributors; }
bf58cbde 52 TH1F* GetCentralityDistribution() { return fCentralityDistribution; }
a75aacd6 53
54 void Correct(AliUEHistograms* corrections);
55
56 void SetEtaRange(Float_t etaMin, Float_t etaMax);
57 void SetPtRange(Float_t ptMin, Float_t ptMax);
144bd037 58 void SetContaminationEnhancement(TH1F* hist);
a75aacd6 59 void SetCombineMinMax(Bool_t flag);
c7245604 60 void SetSelectCharge(Int_t selectCharge) { fSelectCharge = selectCharge; }
a75aacd6 61
6f803f6c 62 void ExtendTrackingEfficiency();
c7245604 63 void Reset();
6f803f6c 64
d1c75d06 65 AliUEHistograms(const AliUEHistograms &c);
a75aacd6 66 AliUEHistograms& operator=(const AliUEHistograms& c);
67 virtual void Copy(TObject& c) const;
68
69 virtual Long64_t Merge(TCollection* list);
c7245604 70 void Scale(Double_t factor);
a75aacd6 71
72protected:
73 void FillRegion(AliUEHist::Region region, AliUEHist::CFStep step, AliVParticle* leading, TList* list, Int_t multiplicity);
74 Int_t CountParticles(TList* list, Float_t ptMin);
bf58cbde 75
76 static const Int_t fgkUEHists; // number of histograms
a75aacd6 77
78 AliUEHist* fNumberDensitypT; // d^2N/dphideta vs pT,lead
79 AliUEHist* fSumpT; // d^2 sum(pT)/dphideta vs pT,lead
80 AliUEHist* fNumberDensityPhi; // d^2N/dphideta vs delta phi,lead (in pT,lead bins)
81
82 TH2F* fCorrelationpT; // pT,lead: true vs reco
83 TH2F* fCorrelationEta; // #eta,lead; true vs reco
84 TH2F* fCorrelationPhi; // #phi,lead; true vs reco
85 TH2F* fCorrelationR; // R = sqrt(delta eta^2 + delta phi^2) (true vs reco) vs pT,lead,MC
86 TH2F* fCorrelationLeading2Phi;// delta phi (true vs reco) vs pT,lead,MC
87 TH2F* fCorrelationMultiplicity; // number of mc particls vs reco particles (for pT > 0.5 GeV/c)
88
89 TH2F* fEventCount; // event count as function of step, event type (plus additional step -1 for all events without vertex range even in MC)
90 TH3F* fEventCountDifferential;// event count as function of leading pT, step, event type
91
92 TH1F* fVertexContributors; // number of contributors to the vertex
bf58cbde 93 TH1F* fCentralityDistribution; // distribution of the variable used for centrality selection
a75aacd6 94
c7245604 95 Int_t fSelectCharge; // (un)like sign selection when building correlations: 0: no selection; 1: unlike sign; 2: like sign
96
97 ClassDef(AliUEHistograms, 4) // underlying event histogram container
a75aacd6 98};
99
100#endif