]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/FORWARD/analysis/AliFMDAnaCalibEventSelectionEfficiency.cxx
Added stuff to be written to shell script after completion.
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis / AliFMDAnaCalibEventSelectionEfficiency.cxx
1
2 #include "AliFMDAnaCalibEventSelectionEfficiency.h"
3
4 #include <TH1F.h>
5 #include <TBrowser.h>
6 #include "AliLog.h"
7 #include "iostream"
8
9 ClassImp(AliFMDAnaCalibEventSelectionEfficiency)
10 #if 0
11 ; // For Emacs
12 #endif 
13
14 //____________________________________________________________________
15 AliFMDAnaCalibEventSelectionEfficiency::AliFMDAnaCalibEventSelectionEfficiency() : TObject(),
16                                                                                    fCorrection(),
17                                                                                    fCorrectionList(),
18                                                                                    fIsInit(kFALSE),
19                                                                                    fVtxEff(1)
20 {
21   
22   
23   
24 }
25
26
27 //____________________________________________________________________
28 AliFMDAnaCalibEventSelectionEfficiency::
29 AliFMDAnaCalibEventSelectionEfficiency(const AliFMDAnaCalibEventSelectionEfficiency& o) : TObject(o),                        
30                                                                                           fCorrection(o.fCorrection),
31                                                                                           fCorrectionList(),
32                                                                                           fIsInit(o.fIsInit),
33                                                                                           fVtxEff(o.fVtxEff)
34 {
35   // Copy ctor 
36 }
37 //____________________________________________________________________
38 AliFMDAnaCalibEventSelectionEfficiency&
39 AliFMDAnaCalibEventSelectionEfficiency::operator=(const AliFMDAnaCalibEventSelectionEfficiency& /*o*/) 
40 {
41   // Assignment operator 
42   
43   return (*this);
44 }
45 //____________________________________________________________________
46 void AliFMDAnaCalibEventSelectionEfficiency::Init() {
47
48   fCorrection.SetName("EventSelectionEffCorrection");
49   
50   fIsInit = kTRUE;
51
52 }
53 //____________________________________________________________________
54 void AliFMDAnaCalibEventSelectionEfficiency::SetCorrection(TH1F* hCorrection) {
55   
56   fCorrection.SetBins(hCorrection->GetNbinsX(),
57                       hCorrection->GetXaxis()->GetXmin(),
58                       hCorrection->GetXaxis()->GetXmax());
59   for(Int_t i=1; i<=hCorrection->GetNbinsX(); i++) {
60     fCorrection.SetBinContent(i,hCorrection->GetBinContent(i));
61     fCorrection.SetBinError(i,hCorrection->GetBinError(i));
62   }
63   
64
65 }
66 //____________________________________________________________________
67 void AliFMDAnaCalibEventSelectionEfficiency::SetCorrection(TString trig,
68                                                            Int_t vtxbin, 
69                                                            Char_t ring,
70                                                            TH2F* hCorrection) {
71   //TString test = trig;
72   if(!trig.Contains("INEL") && !trig.Contains("NSD"))
73     AliWarning("Please choose NSD or INEL!");
74   
75   if(trig.Contains("INEL"))
76     hCorrection->SetName(Form("correction_%c_%d",ring,vtxbin));
77   if(trig.Contains("NSD")) 
78     hCorrection->SetName(Form("correction%s_%c_%d","NSD",ring,vtxbin));
79   
80   fCorrectionList.Add(hCorrection);
81   
82 }
83 //____________________________________________________________________
84 TH2F* AliFMDAnaCalibEventSelectionEfficiency::GetCorrection(TString name,
85                                                             Int_t vtxbin, 
86                                                             Char_t ring) {
87   
88   //TString name = trig;
89   
90   if(name.Contains("INEL"))
91     name.Form("correction_%c_%d",ring,vtxbin);
92   if(name.Contains("NSD")) 
93     name.Form("correction%s_%c_%d","NSD",ring,vtxbin);
94   
95   TH2F* hCorrection = (TH2F*)fCorrectionList.FindObject(name);
96    
97   return hCorrection;
98
99 }
100
101 //____________________________________________________________________
102 Float_t AliFMDAnaCalibEventSelectionEfficiency::GetCorrection(Int_t vtxbin) {
103
104   if( (vtxbin-1) > fCorrection.GetNbinsX() || vtxbin < 0)
105     return 0;
106   
107   Float_t correction = fCorrection.GetBinContent(vtxbin+1);
108   
109   return correction;
110
111 }
112
113 //____________________________________________________________________
114 void AliFMDAnaCalibEventSelectionEfficiency::Browse(TBrowser* /*b*/)
115 {
116   
117 }
118
119 //____________________________________________________________________
120 //
121 // EOF
122 //