Warnings fixed
[u/mrichter/AliRoot.git] / PWG3 / base / AliQuarkoniaEfficiency.h
CommitLineData
bae80eaf 1#ifndef ALIQUARKONIAEFFICIENCY_H
2#define ALIQUARKONIAEFFICIENCY_H
977e08ed 3
4//===================================================================
5// Class AliQuarkoniaEfficiency
6//
7// This class will provide the quarkonia reconstruction efficiency
8// in ALICE without acceptance consideration
9// for different resonances :
10// kJpsi
11// kPsiP
12// kUpsilon
13// kUpsilonP
14// kUpsilonPP
15// for some vector mesons :
16// kPhi
17// kOmega
18// different decay channels:
19// kDimuon
20// kDielectron
21// different trigger configurations:
22// kSinglePlusLpt, kSinglePlusHpt, kSinglePlusApt,
23// kSingleMinusLpt, kSingleMinusHpt, kSingleMinusApt,
24// kSingleUndefLpt, kSingleUndefHpt, kSingleUndefApt,
25// kPairUnlikeLpt, kPairUnlikeHpt, kPairUnlikeApt,
26// kPairLikeLpt, kPairLikeHpt, kPairLikeApt
27// different parameterizations:
28// kFlat
29// kCDFscaled
30// kCDFscaledPP
31//
32//
33// Reconstruction efficiency has been evaluated by means of a flat
34// y and pt distribution of quarkonia in -4 < y < -2.5,
35// 0 < pt < 20 GeV/c. Weights have been used to evaluate the
36// reconstruction efficiency in different parameterizations.
37//
38// Subatech 2006
39//===================================================================
40
41#include "TNamed.h"
42
43class TH2F;
44class TString;
45
46class AliQuarkoniaEfficiency : public TNamed{
47
48 public:
49
50 enum quarkonia{kJpsi, kPsiP, kUpsilon, kUpsilonP, kUpsilonPP, kOmega, kPhi};
51 enum decay{kDimuon, kDielectron};
52 enum parameterization{kFlat, kCDFscaled, kCDFscaledPP};
53 enum trigger{kSinglePlusLpt, kSinglePlusHpt, kSinglePlusApt,
54 kSingleMinusLpt, kSingleMinusHpt, kSingleMinusApt,
55 kSingleUndefLpt, kSingleUndefHpt, kSingleUndefApt,
56 kPairUnlikeLpt, kPairUnlikeHpt, kPairUnlikeApt,
57 kPairLikeLpt, kPairLikeHpt, kPairLikeApt };
58
59
60 AliQuarkoniaEfficiency(Int_t quarkoniaResonance=kJpsi, Int_t decayChannel=kDimuon, Int_t simParameterization=kCDFscaledPP);
61 virtual ~AliQuarkoniaEfficiency();
62 void Init();
63
64 TH2F* GetEfficiencyHisto() const;
65 void GetEfficiency(Float_t rap, Float_t pT, Double_t & eff, Double_t & error);
66
bae80eaf 67 void SetEfficiencyFileName(char * efficiencyFileName) { fEfficiencyFileName = efficiencyFileName; }
68 void SetQuarkoniaResonance(Int_t quarkoniaResonance = kJpsi) { fQuarkoniaResonance= quarkoniaResonance;}
69 void SetDecayChannel(Int_t decayChannel = kDimuon) { fDecayChannel = decayChannel;}
70 void SetSimulatedParameterization(Int_t simParameterization = kCDFscaledPP) {
977e08ed 71 fParameterization = simParameterization;
72 }
803ad0fd 73 void SetTrigger(Bool_t trigger = kFALSE, Int_t triggerType = kPairUnlikeApt){
977e08ed 74 fTrigger = trigger; fTriggerType = triggerType;
75 }
76
77 private:
78
bae80eaf 79 AliQuarkoniaEfficiency(const AliQuarkoniaEfficiency& rhs);
80 AliQuarkoniaEfficiency& operator=(const AliQuarkoniaEfficiency& rhs);
81
977e08ed 82 TString fEfficiencyFileName; // Name of the efficiency root file
83 Int_t fQuarkoniaResonance; // Resonance Acceptance
84 Int_t fDecayChannel; // Studied decay channel
85 Int_t fParameterization; // Quarkonia simulated parameterization
86 Int_t fTriggerType; // Trigger type to be considered
87 Bool_t fTrigger; // Boolean to decide if consider or not trigger
88 TH2F * fEfficiency; // Efficiency histogram
89
90 ClassDef(AliQuarkoniaEfficiency,1)
91 };
92
93#endif