Test macro for online-calibration with class AliEMCALCalibHistoProducer
[u/mrichter/AliRoot.git] / PWG0 / dNdEta / AlidNdEtaCorrection.h
CommitLineData
55e05544 1/* $Id$ */
2
3#ifndef ALIDNDETACORRECTION_H
4#define ALIDNDETACORRECTION_H
5
6
7// ------------------------------------------------------
8//
9// Class to handle corrections for dN/dEta measurements
10//
11// ------------------------------------------------------
12//
13// TODO:
14// - make the ntrack to npart correction 3D
15// - add documentation
16// - add status: generate or use maps
17// - add functionality to set the bin sizes
1afae8ff 18// - update MERge function
45e97e28 19//
55e05544 20
21#include <TNamed.h>
55e05544 22
74fd10b3 23class AliCorrection;
55e05544 24
25class AlidNdEtaCorrection : public TNamed
26{
55e05544 27public:
74fd10b3 28 enum CorrectionType {
29 kNone,
30 kTrack2Particle, // measured events
31 kVertexReco, // MB sample
32 kINEL,
33 kNSD,
34 kND
35 };
36
8b3563f4 37 AlidNdEtaCorrection();
38 AlidNdEtaCorrection(const Char_t* name, const Char_t* title);
55e05544 39
74fd10b3 40 virtual Long64_t Merge(TCollection* list);
41
38233af1 42 ~AlidNdEtaCorrection();
43
74fd10b3 44 void FillMCParticle(Float_t vtx, Float_t eta, Float_t pt, Bool_t trigger, Bool_t vertex, Int_t processType);
45 void FillTrackedParticle(Float_t vtx, Float_t eta, Float_t pt);
46 void FillEvent(Float_t vtx, Float_t n, Bool_t trigger, Bool_t vertex, Int_t processType);
55e05544 47
45e97e28 48 void Finish();
49
74fd10b3 50 AliCorrection* GetTrack2ParticleCorrection() {return fTrack2ParticleCorrection;}
51 AliCorrection* GetVertexRecoCorrection() {return fVertexRecoCorrection;}
52 AliCorrection* GetTriggerBiasCorrectionINEL() {return fTriggerBiasCorrectionMBToINEL;}
53 AliCorrection* GetTriggerBiasCorrectionNSD() {return fTriggerBiasCorrectionMBToNSD;}
54 AliCorrection* GetTriggerBiasCorrectionND() {return fTriggerBiasCorrectionMBToND;}
55e05544 55
56 void SaveHistograms();
74fd10b3 57 Bool_t LoadHistograms(const Char_t* dir = 0);
55e05544 58 void DrawHistograms();
847489f7 59
74fd10b3 60 Float_t GetMeasuredFraction(CorrectionType correctionType, Float_t ptCutOff, Float_t eta = -100, Bool_t debug = kFALSE);
8b3563f4 61
0ab29cfa 62 void ReduceInformation();
63
45e97e28 64protected:
74fd10b3 65 AliCorrection* fTrack2ParticleCorrection; //-> handles the track-to-particle correction (only track level (vtx_z, eta, pt))
66 AliCorrection* fVertexRecoCorrection; //-> handles the vertex reconstruction efficiency, (n, vtx_z)
67 AliCorrection* fTriggerBiasCorrectionMBToINEL; //-> handles the trigger bias MB->INEL, function of n and vtx_z
68 AliCorrection* fTriggerBiasCorrectionMBToNSD; //-> handles the trigger bias MB->NSD, function of n and vtx_z
69 AliCorrection* fTriggerBiasCorrectionMBToND; //-> handles the trigger bias MB->ND, function of n and vtx_z
55e05544 70
61385583 71private:
72 AlidNdEtaCorrection(const AlidNdEtaCorrection&);
73 AlidNdEtaCorrection& operator=(const AlidNdEtaCorrection&);
74
8b3563f4 75 ClassDef(AlidNdEtaCorrection, 1)
55e05544 76};
77
78#endif