]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - FMD/analysis/AliFMDAnaParameters.h
Remove include file that was removed from TRD code.
[u/mrichter/AliRoot.git] / FMD / analysis / AliFMDAnaParameters.h
... / ...
CommitLineData
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"
38#include "AliFMDAnaCalibBackgroundCorrection.h"
39#include "AliFMDAnaCalibEnergyDistribution.h"
40#include "AliFMDAnaCalibEventSelectionEfficiency.h"
41#include <TVector2.h>
42#include <TString.h>
43//#include "AliPWG0Helper.h"
44class AliESDEvent;
45
46/**
47 * @ingroup FMD_ana
48 */
49class AliFMDAnaParameters : public TNamed
50{
51public:
52 /** Enumeration of things to initialize */
53 enum What {
54 /** Pulser gain */
55 kBackgroundCorrection = 0x1, // Background Correction
56 kEnergyDistributions = 0x2, // Energy Distributions
57 kEventSelectionEfficiency = 0x4 // Event Selection Efficiency
58 };
59
60 enum Trigger { kMB1 = 0, kMB2, kSPDFASTOR };
61
62 enum Energy { k900 , k10000, k14000 };
63
64 /** Singleton access
65 @return single to */
66 static AliFMDAnaParameters* Instance();
67
68 void Init(Bool_t forceReInit=kTRUE, UInt_t what=kBackgroundCorrection|kEnergyDistributions|kEventSelectionEfficiency);
69 Float_t GetVtxCutZ();
70 Int_t GetNvtxBins();
71 Int_t GetNetaBins();
72 Float_t GetEtaMin();
73 Float_t GetEtaMax();
74 Float_t GetMPV(Int_t det, Char_t ring, Float_t eta);
75 Float_t GetSigma(Int_t det, Char_t ring, Float_t eta);
76 Float_t Get2MIPWeight(Int_t det, Char_t ring, Float_t eta);
77 Float_t Get3MIPWeight(Int_t det, Char_t ring, Float_t eta);
78 //static const char* GetBackgroundPath() { return fgkBackgroundCorrection;}
79 // static const char* GetEdistPath() { return fgkEnergyDists;}
80 static const char* GetBackgroundID() { return fgkBackgroundID;}
81 static const char* GetEdistID() { return fgkEnergyDistributionID;}
82 static const char* GetEventSelectionEffID() { return fgkEventSelectionEffID;}
83 TH2F* GetBackgroundCorrection(Int_t det, Char_t ring, Int_t vtxbin);
84 TH1F* GetDoubleHitCorrection(Int_t det, Char_t ring);
85
86 Float_t GetEventSelectionEfficiency(Int_t vtxbin);
87 Float_t GetPhiFromSector(UShort_t det, Char_t ring, UShort_t sec) const;
88 Float_t GetEtaFromStrip(UShort_t det, Char_t ring, UShort_t sec, UShort_t strip, Float_t zvtx) const;
89 Float_t GetStripLength(Char_t ring, UShort_t strip) ;
90 Float_t GetBaseStripLength(Char_t ring, UShort_t strip) ;
91 Float_t GetMaxR(Char_t ring) const;
92 Float_t GetMinR(Char_t ring) const;
93 void SetBackgroundPath(const Char_t* bgpath) {fBackgroundPath.Form(bgpath);}
94 void SetEnergyPath(const Char_t* epath) {fEnergyPath.Form(epath);}
95 void SetEventSelectionPath(const Char_t* evpath) {fEventSelectionEffPath.Form(evpath);}
96 void SetProcessPrimary(Bool_t prim=kTRUE) {fProcessPrimary = prim;}
97 void SetProcessHits(Bool_t hits=kTRUE) {fProcessHits = hits;}
98 Bool_t GetProcessPrimary() {return fProcessPrimary;}
99 Bool_t GetProcessHits() {return fProcessHits;}
100 void GetVertex(AliESDEvent* esd, Double_t* vertexXYZ);
101 void SetTriggerDefinition(Trigger trigger) {fTrigger = trigger;}
102 Trigger GetTriggerDefinition() {return fTrigger;}
103 Bool_t IsEventTriggered(AliESDEvent* esd);
104 void SetEnergy(Energy energy) {fEnergy = energy;}
105 char* GetPath(const char* species);
106protected:
107
108 AliFMDAnaParameters();
109
110 AliFMDAnaParameters(const AliFMDAnaParameters& o)
111 : TNamed(o),
112 fIsInit(o.fIsInit),
113 fBackground(o.fBackground),
114 fEnergyDistribution(o.fEnergyDistribution),
115 fEventSelectionEfficiency(o.fEventSelectionEfficiency),
116 fCorner1(o.fCorner1),
117 fCorner2(o.fCorner2),
118 fEnergyPath(o.fEnergyPath),
119 fBackgroundPath(o.fBackgroundPath),
120 fEventSelectionEffPath(o.fEventSelectionEffPath),
121 fProcessPrimary(o.fProcessPrimary),
122 fProcessHits(o.fProcessHits),
123 fTrigger(o.fTrigger),
124 fEnergy(o.fEnergy)
125 {}
126 AliFMDAnaParameters& operator=(const AliFMDAnaParameters&) { return *this; }
127 virtual ~AliFMDAnaParameters() {}
128
129 static AliFMDAnaParameters* fgInstance; // Static singleton instance
130
131 // AliCDBEntry* GetEntry(const char* path, Bool_t fatal=kTRUE) const ;
132 void InitBackground();
133 void InitEnergyDists();
134 void InitEventSelectionEff();
135
136 TH1F* GetEnergyDistribution(Int_t det, Char_t ring, Float_t eta);
137 TObjArray* GetBackgroundArray();
138
139 TAxis* GetRefAxis();
140 void SetCorners(Char_t ring) ;
141
142 Bool_t fIsInit;
143 //TObjArray* fBackgroundArray;
144 // TObjArray* fEdistArray;
145 AliFMDAnaCalibBackgroundCorrection* fBackground;
146 AliFMDAnaCalibEnergyDistribution* fEnergyDistribution;
147 AliFMDAnaCalibEventSelectionEfficiency* fEventSelectionEfficiency;
148
149 //static const char* fgkBackgroundCorrection;
150 //static const char* fgkEnergyDists;
151 static const char* fgkBackgroundID;
152 static const char* fgkEnergyDistributionID ;
153 static const char* fgkEventSelectionEffID ;
154
155 TVector2 fCorner1;
156 TVector2 fCorner2;
157 TString fEnergyPath;
158 TString fBackgroundPath;
159 TString fEventSelectionEffPath;
160 Bool_t fProcessPrimary;
161 Bool_t fProcessHits;
162 Trigger fTrigger;
163 Energy fEnergy;
164
165 ClassDef(AliFMDAnaParameters,0) // Manager of parameters
166};
167
168#endif
169//____________________________________________________________________
170//
171// Local Variables:
172// mode: C++
173// End:
174//
175// EOF
176//
177