ROOT logo
#ifndef ALIQUARKONIAEFFICIENCY_H
#define ALIQUARKONIAEFFICIENCY_H

/* $Id$ */ 

//===================================================================
//  Class AliQuarkoniaEfficiency                               
//
//  This class will provide the quarkonia reconstruction efficiency 
//  in ALICE without acceptance consideration
//  for different resonances :
//    kJpsi
//    kPsiP
//    kUpsilon
//    kUpsilonP
//    kUpsilonPP
//  for some vector mesons :
//    kPhi
//    kOmega
//  different decay channels:
//    kDimuon
//    kDielectron
//  different trigger configurations:
//    kSinglePlusLpt, kSinglePlusHpt, kSinglePlusApt,
//    kSingleMinusLpt, kSingleMinusHpt, kSingleMinusApt,
//    kSingleUndefLpt, kSingleUndefHpt, kSingleUndefApt,
//    kPairUnlikeLpt, kPairUnlikeHpt, kPairUnlikeApt,
//    kPairLikeLpt, kPairLikeHpt, kPairLikeApt
//  different parameterizations:
//    kFlat
//    kCDFscaled
//    kCDFscaledPP
//
//
//  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.
//                                                              
//  Subatech 2006
//===================================================================

#include "TNamed.h"

class TH2F;
class TString;

class AliQuarkoniaEfficiency : public TNamed{

 public:

  enum quarkonia{kJpsi, kPsiP, kUpsilon, kUpsilonP, kUpsilonPP, kOmega, kPhi};
  enum decay{kDimuon, kDielectron};
  enum parameterization{kFlat, kCDFscaled, kCDFscaledPP};
  enum trigger{kSinglePlusLpt, kSinglePlusHpt, kSinglePlusApt,
	       kSingleMinusLpt, kSingleMinusHpt, kSingleMinusApt,
	       kSingleUndefLpt, kSingleUndefHpt, kSingleUndefApt,
	       kPairUnlikeLpt, kPairUnlikeHpt, kPairUnlikeApt,
	       kPairLikeLpt, kPairLikeHpt, kPairLikeApt };


  AliQuarkoniaEfficiency(Int_t quarkoniaResonance=kJpsi, Int_t decayChannel=kDimuon, Int_t simParameterization=kCDFscaledPP);
  virtual ~AliQuarkoniaEfficiency();    
  void   Init(); 

  TH2F*  GetEfficiencyHisto() const;
  void   GetEfficiency(Float_t rap, Float_t pT, Double_t & eff, Double_t & error); 

  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;
  }
  void  SetTrigger(Bool_t trig = kFALSE, Int_t triggerType = kPairUnlikeApt){ 
    fTrigger = trig; 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
  Int_t          fParameterization;        // Quarkonia simulated parameterization  
  Int_t          fTriggerType;             // Trigger type to be considered  
  Bool_t         fTrigger;                 // Boolean to decide if consider or not trigger
  TH2F *         fEfficiency;              // Efficiency histogram

  ClassDef(AliQuarkoniaEfficiency,1)
    };

#endif
 AliQuarkoniaEfficiency.h:1
 AliQuarkoniaEfficiency.h:2
 AliQuarkoniaEfficiency.h:3
 AliQuarkoniaEfficiency.h:4
 AliQuarkoniaEfficiency.h:5
 AliQuarkoniaEfficiency.h:6
 AliQuarkoniaEfficiency.h:7
 AliQuarkoniaEfficiency.h:8
 AliQuarkoniaEfficiency.h:9
 AliQuarkoniaEfficiency.h:10
 AliQuarkoniaEfficiency.h:11
 AliQuarkoniaEfficiency.h:12
 AliQuarkoniaEfficiency.h:13
 AliQuarkoniaEfficiency.h:14
 AliQuarkoniaEfficiency.h:15
 AliQuarkoniaEfficiency.h:16
 AliQuarkoniaEfficiency.h:17
 AliQuarkoniaEfficiency.h:18
 AliQuarkoniaEfficiency.h:19
 AliQuarkoniaEfficiency.h:20
 AliQuarkoniaEfficiency.h:21
 AliQuarkoniaEfficiency.h:22
 AliQuarkoniaEfficiency.h:23
 AliQuarkoniaEfficiency.h:24
 AliQuarkoniaEfficiency.h:25
 AliQuarkoniaEfficiency.h:26
 AliQuarkoniaEfficiency.h:27
 AliQuarkoniaEfficiency.h:28
 AliQuarkoniaEfficiency.h:29
 AliQuarkoniaEfficiency.h:30
 AliQuarkoniaEfficiency.h:31
 AliQuarkoniaEfficiency.h:32
 AliQuarkoniaEfficiency.h:33
 AliQuarkoniaEfficiency.h:34
 AliQuarkoniaEfficiency.h:35
 AliQuarkoniaEfficiency.h:36
 AliQuarkoniaEfficiency.h:37
 AliQuarkoniaEfficiency.h:38
 AliQuarkoniaEfficiency.h:39
 AliQuarkoniaEfficiency.h:40
 AliQuarkoniaEfficiency.h:41
 AliQuarkoniaEfficiency.h:42
 AliQuarkoniaEfficiency.h:43
 AliQuarkoniaEfficiency.h:44
 AliQuarkoniaEfficiency.h:45
 AliQuarkoniaEfficiency.h:46
 AliQuarkoniaEfficiency.h:47
 AliQuarkoniaEfficiency.h:48
 AliQuarkoniaEfficiency.h:49
 AliQuarkoniaEfficiency.h:50
 AliQuarkoniaEfficiency.h:51
 AliQuarkoniaEfficiency.h:52
 AliQuarkoniaEfficiency.h:53
 AliQuarkoniaEfficiency.h:54
 AliQuarkoniaEfficiency.h:55
 AliQuarkoniaEfficiency.h:56
 AliQuarkoniaEfficiency.h:57
 AliQuarkoniaEfficiency.h:58
 AliQuarkoniaEfficiency.h:59
 AliQuarkoniaEfficiency.h:60
 AliQuarkoniaEfficiency.h:61
 AliQuarkoniaEfficiency.h:62
 AliQuarkoniaEfficiency.h:63
 AliQuarkoniaEfficiency.h:64
 AliQuarkoniaEfficiency.h:65
 AliQuarkoniaEfficiency.h:66
 AliQuarkoniaEfficiency.h:67
 AliQuarkoniaEfficiency.h:68
 AliQuarkoniaEfficiency.h:69
 AliQuarkoniaEfficiency.h:70
 AliQuarkoniaEfficiency.h:71
 AliQuarkoniaEfficiency.h:72
 AliQuarkoniaEfficiency.h:73
 AliQuarkoniaEfficiency.h:74
 AliQuarkoniaEfficiency.h:75
 AliQuarkoniaEfficiency.h:76
 AliQuarkoniaEfficiency.h:77
 AliQuarkoniaEfficiency.h:78
 AliQuarkoniaEfficiency.h:79
 AliQuarkoniaEfficiency.h:80
 AliQuarkoniaEfficiency.h:81
 AliQuarkoniaEfficiency.h:82
 AliQuarkoniaEfficiency.h:83
 AliQuarkoniaEfficiency.h:84
 AliQuarkoniaEfficiency.h:85
 AliQuarkoniaEfficiency.h:86
 AliQuarkoniaEfficiency.h:87
 AliQuarkoniaEfficiency.h:88
 AliQuarkoniaEfficiency.h:89
 AliQuarkoniaEfficiency.h:90
 AliQuarkoniaEfficiency.h:91
 AliQuarkoniaEfficiency.h:92
 AliQuarkoniaEfficiency.h:93
 AliQuarkoniaEfficiency.h:94
 AliQuarkoniaEfficiency.h:95