Interface class for quarkonia efficiencies (Zaida)
[u/mrichter/AliRoot.git] / PWG3 / AliQuarkoniaEfficiency.h
CommitLineData
977e08ed 1#ifndef ALIQUARKONIAEFFICENCY_H
2#define ALIQUARKONIAEFFICENCY_H
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
67 inline void SetEfficiencyFileName(char * efficiencyFileName) { fEfficiencyFileName = efficiencyFileName; }
68 inline void SetQuarkoniaResonance(Int_t quarkoniaResonance = kJpsi) { fQuarkoniaResonance= quarkoniaResonance;}
69 inline void SetDecayChannel(Int_t decayChannel = kDimuon) { fDecayChannel = decayChannel;}
70 inline void SetSimulatedParameterization(Int_t simParameterization = kCDFscaledPP) {
71 fParameterization = simParameterization;
72 }
73 inline void SetTrigger(bool trigger = kFALSE, Int_t triggerType = kPairUnlikeApt){
74 fTrigger = trigger; fTriggerType = triggerType;
75 }
76
77 private:
78
79 TString fEfficiencyFileName; // Name of the efficiency root file
80 Int_t fQuarkoniaResonance; // Resonance Acceptance
81 Int_t fDecayChannel; // Studied decay channel
82 Int_t fParameterization; // Quarkonia simulated parameterization
83 Int_t fTriggerType; // Trigger type to be considered
84 Bool_t fTrigger; // Boolean to decide if consider or not trigger
85 TH2F * fEfficiency; // Efficiency histogram
86
87 ClassDef(AliQuarkoniaEfficiency,1)
88 };
89
90#endif