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