B2 analysis code
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / Nuclei / B2 / AliLnEfficiency.h
1 #ifndef ALILNEFFICIENCY_H
2 #define ALILNEFFICIENCY_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 // efficiency correction
8 // author: Eulogio Serradilla <eulogio.serradilla@cern.ch>
9
10 #include <TObject.h>
11 #include <TString.h>
12
13 class TString;
14 class TF1;
15
16 class AliLnEfficiency: public TObject
17 {
18   public:
19         
20         AliLnEfficiency(const TString& particle, const TString& simuFilename, const TString& outputFilename, const TString& otag);
21         virtual ~AliLnEfficiency();
22         
23         TF1* GetProtonG3FlukaCor(const TString& name) const;
24         TF1* GetAntiProtonG3FlukaCor(const TString& name) const;
25         
26         const TString* GetOutputFilename() const { return &fOutputFilename; }
27         
28         Int_t Exec();
29         
30         void SetParticle(const TString& particle) { fParticle = particle; }
31         
32         void SetOutputTag(const TString& tag) { fOutputTag = tag; }
33         
34         void SetG3Fluka(Bool_t flag=1) { fG3Fluka = flag; }
35         
36   private:
37  
38         AliLnEfficiency(const AliLnEfficiency& other);
39         AliLnEfficiency& operator=(const AliLnEfficiency& other);
40         
41   private:
42  
43         TString fParticle; // particle name
44         
45         TString fSimuFilename; // simulation filename
46         TString fOutputFilename; // output filename
47         TString fOutputTag; // tag for the ouput file
48         
49         Bool_t fG3Fluka; // use G3/FLUKA correction for (anti)protons
50         
51         ClassDef(AliLnEfficiency,1)
52 };
53
54 #endif // ALILNEFFICIENCY_H