New FMD analysis correction files
[u/mrichter/AliRoot.git] / FMD / analysis / AliFMDAnaParameters.h
CommitLineData
d7346eed 1#ifndef ALIFMDANAPARAMETERS_H
2#define ALIFMDANAPARAMETERS_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
4 * reserved.
5 *
6 * Latest changes by Hans Hjersing Dalsgaard, NBI, hans.dalsgaard@cern.ch
7 *
8 * See cxx source for full Copyright notice
9 */
10//
11//The design of this class is based on the AliFMDParameters class. Its purpose
12//is to hold parameters for the analysis such as background correction and
13//fit functions.
14//
15//Author: Hans Hjersing Dalsgaard, NBI, hans.dalsgaard@cern.ch
16//
17//____________________________________________________________________
18
19#ifndef ROOT_TNamed
20# include <TNamed.h>
21#endif
22#ifndef ROOT_TArrayI
23# include <TArrayI.h>
24#endif
25#ifndef ALIFMDUSHORTMAP_H
26# include <AliFMDUShortMap.h>
27#endif
28#ifndef ALIFMDBOOLMAP_H
29# include <AliFMDBoolMap.h>
30#endif
31#include "AliCDBEntry.h"
32
33#include "TFile.h"
34#include "TObjArray.h"
35#include "TH2F.h"
36#include "TAxis.h"
37#include "TH1F.h"
b82e76e0 38#include "AliFMDAnaCalibBackgroundCorrection.h"
39#include "AliFMDAnaCalibEnergyDistribution.h"
d7346eed 40//____________________________________________________________________
41//
42// Singleton class to handle various parameters (not geometry) of the
43// FMD
44// Should get ata fromm Conditions DB.
45//
46
47class AliFMDAnaParameters : public TNamed
48{
49public:
50 /** Enumeration of things to initialize */
51 enum What {
52 /** Pulser gain */
53 kBackgroundCorrection = 0x1, // Background Correction
54 kEnergyDistributions = 0x2 // Energy Distributions
55 };
56
57 /** Singleton access
58 @return single to */
59 static AliFMDAnaParameters* Instance();
60
61 void Init(Bool_t forceReInit=kTRUE, UInt_t what=kBackgroundCorrection|kEnergyDistributions);
62 Float_t GetVtxCutZ();
63 Int_t GetNvtxBins();
5754671c 64 Int_t GetNetaBins();
65 Float_t GetEtaMin();
66 Float_t GetEtaMax();
67 Float_t GetMPV(Int_t det, Char_t ring, Float_t eta);
68 Float_t GetSigma(Int_t det, Char_t ring, Float_t eta);
69 Float_t Get2MIPWeight(Int_t det, Char_t ring, Float_t eta);
70 Float_t Get3MIPWeight(Int_t det, Char_t ring, Float_t eta);
d7346eed 71 static const char* GetBackgroundPath() { return fgkBackgroundCorrection;}
72 static const char* GetEdistPath() { return fgkEnergyDists;}
73 TH2F* GetBackgroundCorrection(Int_t det, Char_t ring, Int_t vtxbin);
f58a4769 74 Float_t GetPhiFromSector(UShort_t det, Char_t ring, UShort_t sec);
75 Float_t GetEtaFromStrip(UShort_t det, Char_t ring, UShort_t sec, UShort_t strip, Float_t zvtx);
d7346eed 76protected:
77
78 AliFMDAnaParameters();
79
80 AliFMDAnaParameters(const AliFMDAnaParameters& o)
81 : TNamed(o),
82 fIsInit(o.fIsInit),
46807b30 83 fBackground(o.fBackground),
84 fEnergyDistribution(o.fEnergyDistribution)
85 // fBackgroundArray(o.fBackgroundArray),
86 //fEdistArray(o.fEdistArray)
d7346eed 87 {}
88 AliFMDAnaParameters& operator=(const AliFMDAnaParameters&) { return *this; }
89 virtual ~AliFMDAnaParameters() {}
90
91 static AliFMDAnaParameters* fgInstance; // Static singleton instance
92
93 AliCDBEntry* GetEntry(const char* path, Bool_t fatal=kTRUE) const ;
94 void InitBackground();
95 void InitEnergyDists();
5754671c 96 TH1F* GetEnergyDistribution(Int_t det, Char_t ring, Float_t eta);
d7346eed 97 TObjArray* GetBackgroundArray();
98
8dc823cc 99 TAxis* GetRefAxis();
100
101
d7346eed 102 Bool_t fIsInit;
46807b30 103 //TObjArray* fBackgroundArray;
104 // TObjArray* fEdistArray;
b82e76e0 105 AliFMDAnaCalibBackgroundCorrection* fBackground;
106 AliFMDAnaCalibEnergyDistribution* fEnergyDistribution;
d7346eed 107 static const char* fgkBackgroundCorrection;
108 static const char* fgkEnergyDists;
109 ClassDef(AliFMDAnaParameters,0) // Manager of parameters
110};
111
112#endif
113//____________________________________________________________________
114//
115// Local Variables:
116// mode: C++
117// End:
118//
119// EOF
120//
121