+//===================================================================
+// Class AliQuarkoniaEfficiency
+//
+// This class will provide the quarkonia reconstruction efficiency
+// in ALICE without acceptance consideration.
+//
+//
+// Reconstruction efficiency has been evaluated by means of a flat
+// y and pt distribution of quarkonia in -4 < y < -2.5,
+// 0 < pt < 20 GeV/c. Weights have been used to evaluate the
+// reconstruction efficiency in different parameterizations.
+//
+// Beware that efficiency histos are preliminary.
+// Just Jpsi, Dimuon, UnlikePair trigger
+// efficiencies should be considered.
+//
+//
+// Example:
+// Double_t eff,error;
+// AliQuarkoniaEfficiency * JPsiEff = new AliQuarkoniaEfficiency();
+// JPsiEff->Init();
+// JPsiEff->GetEfficiency(Rapidity,Pt,eff,error);
+// printf(" eff = %2.2e error %2.2e \n",eff,error);
+//
+//
+// Subatech 2006
+//===================================================================
// Root
-#include "TAxis.h"
#include "TFile.h"
#include "TH2.h"
-#include "TString.h"
-#include "TDirectory.h"
// AliRoot includes
#include "AliQuarkoniaEfficiency.h"
#include "AliLog.h"
+//_______________________________________________________________________
AliQuarkoniaEfficiency::AliQuarkoniaEfficiency(Int_t quarkoniaResonance, Int_t decayChannel,
Int_t simParameterization):
fEfficiencyFileName("QuarkoniaEfficiency.root"),
fTrigger(kFALSE),
fEfficiency(0x0)
{
-
+ // Constructor
}
+//_______________________________________________________________________
AliQuarkoniaEfficiency::~AliQuarkoniaEfficiency()
{
+ // Destructor
delete fEfficiency;
}
+//_______________________________________________________________________
void AliQuarkoniaEfficiency::Init()
{
+ // Initialize method
switch (fQuarkoniaResonance) {
case kJpsi:
SetTitle("Jpsi");
}
+//_______________________________________________________________________
TH2F* AliQuarkoniaEfficiency::GetEfficiencyHisto() const
{
+ // Returns the efficiency histogram
if (fEfficiency) return fEfficiency;
else {
AliError(Form("Efficiency data for quarkonia %s and channel %s not found",GetTitle(),GetName()));
}
}
+//_______________________________________________________________________
void AliQuarkoniaEfficiency::GetEfficiency(Float_t rap, Float_t pT, Double_t &eff, Double_t &error)
{
+ // Evaluates the efficiency for a given (y,Pt) of the quarkonia
Int_t binx=0;
Int_t biny=0;
-#ifndef ALIQUARKONIAEFFICENCY_H
-#define ALIQUARKONIAEFFICENCY_H
+#ifndef ALIQUARKONIAEFFICIENCY_H
+#define ALIQUARKONIAEFFICIENCY_H
//===================================================================
// Class AliQuarkoniaEfficiency
TH2F* GetEfficiencyHisto() const;
void GetEfficiency(Float_t rap, Float_t pT, Double_t & eff, Double_t & error);
- inline void SetEfficiencyFileName(char * efficiencyFileName) { fEfficiencyFileName = efficiencyFileName; }
- inline void SetQuarkoniaResonance(Int_t quarkoniaResonance = kJpsi) { fQuarkoniaResonance= quarkoniaResonance;}
- inline void SetDecayChannel(Int_t decayChannel = kDimuon) { fDecayChannel = decayChannel;}
- inline void SetSimulatedParameterization(Int_t simParameterization = kCDFscaledPP) {
+ void SetEfficiencyFileName(char * efficiencyFileName) { fEfficiencyFileName = efficiencyFileName; }
+ void SetQuarkoniaResonance(Int_t quarkoniaResonance = kJpsi) { fQuarkoniaResonance= quarkoniaResonance;}
+ void SetDecayChannel(Int_t decayChannel = kDimuon) { fDecayChannel = decayChannel;}
+ void SetSimulatedParameterization(Int_t simParameterization = kCDFscaledPP) {
fParameterization = simParameterization;
}
- inline void SetTrigger(bool trigger = kFALSE, Int_t triggerType = kPairUnlikeApt){
+ void SetTrigger(bool trigger = kFALSE, Int_t triggerType = kPairUnlikeApt){
fTrigger = trigger; fTriggerType = triggerType;
}
private:
+ AliQuarkoniaEfficiency(const AliQuarkoniaEfficiency& rhs);
+ AliQuarkoniaEfficiency& operator=(const AliQuarkoniaEfficiency& rhs);
+
TString fEfficiencyFileName; // Name of the efficiency root file
Int_t fQuarkoniaResonance; // Resonance Acceptance
Int_t fDecayChannel; // Studied decay channel