ROOT logo
#ifndef ALIANALYSISMUMUMINV_H
#define ALIANALYSISMUMUMINV_H

/**
 *
 * \class AliAnalysisMuMuNch
 * \brief Invariant mass dimuon analysis
 * \author L. Aphecetche and J. Martin Blanco (Subatech)
 */

#include "AliAnalysisMuMuBase.h"
#include "AliAnalysisMuMuBinning.h"
#include "TString.h"
#include "TH2.h"

class TH2F;
class AliVParticle;

class AliAnalysisMuMuMinv : public AliAnalysisMuMuBase
{
public:

  AliAnalysisMuMuMinv(TH2* AccEffHisto=0x0, Bool_t computeMeanPt=kFALSE, Int_t systLevel=0);
  virtual ~AliAnalysisMuMuMinv();
  
  Bool_t IsPtInRange(const AliVParticle& t1, const AliVParticle& t2,
                           Double_t& ptmin, Double_t& ptmax) const;
  
  void NameOfIsPtInRange(TString& name, Double_t& ymin, Double_t& ymax) const;
  
  Bool_t IsRapidityInRange(const AliVParticle& t1, const AliVParticle& t2) const;
  void NameOfIsRapidityInRange(TString& name) const { name = "PAIRY"; }
  
  Bool_t ShouldCorrectDimuonForAccEff() { return (fAccEffHisto != 0x0); }
  
protected:
  
  void DefineHistogramCollection(const char* eventSelection, const char* triggerClassName,
                                 const char* centrality);

  virtual void FillHistosForPair(const char* eventSelection,const char* triggerClassName,
                                 const char* centrality,
                                 const char* pairCutName,
                                 const AliVParticle& part,
                                 const AliVParticle& part2);
  
  void FillHistosForMCEvent(const char* eventSelection,const char* triggerClassName,const char* centrality);
  
private:
  
  void CreateMinvHistograms(const char* eventSelection, const char* triggerClassName, const char* centrality);
  
  TString GetMinvHistoName(const AliAnalysisMuMuBinning::Range& r, Bool_t accEffCorrected) const;
  
  Double_t GetAccxEff(Double_t pt,Double_t rapidity);
  
  Double_t WeightDistribution(Double_t pt,Double_t rapidity);
  
  Double_t powerLaw3Par(Double_t *x, Double_t *par);
  
  Double_t normPol12Par(Double_t *x, Double_t *par);

private:
  Bool_t fcomputeMeanPt;
  TH2F* fAccEffHisto;
  
  Int_t fsystLevel;
  
  ClassDef(AliAnalysisMuMuMinv,2) // implementation of AliAnalysisMuMuBase for muon pairs
};

#endif
 AliAnalysisMuMuMinv.h:1
 AliAnalysisMuMuMinv.h:2
 AliAnalysisMuMuMinv.h:3
 AliAnalysisMuMuMinv.h:4
 AliAnalysisMuMuMinv.h:5
 AliAnalysisMuMuMinv.h:6
 AliAnalysisMuMuMinv.h:7
 AliAnalysisMuMuMinv.h:8
 AliAnalysisMuMuMinv.h:9
 AliAnalysisMuMuMinv.h:10
 AliAnalysisMuMuMinv.h:11
 AliAnalysisMuMuMinv.h:12
 AliAnalysisMuMuMinv.h:13
 AliAnalysisMuMuMinv.h:14
 AliAnalysisMuMuMinv.h:15
 AliAnalysisMuMuMinv.h:16
 AliAnalysisMuMuMinv.h:17
 AliAnalysisMuMuMinv.h:18
 AliAnalysisMuMuMinv.h:19
 AliAnalysisMuMuMinv.h:20
 AliAnalysisMuMuMinv.h:21
 AliAnalysisMuMuMinv.h:22
 AliAnalysisMuMuMinv.h:23
 AliAnalysisMuMuMinv.h:24
 AliAnalysisMuMuMinv.h:25
 AliAnalysisMuMuMinv.h:26
 AliAnalysisMuMuMinv.h:27
 AliAnalysisMuMuMinv.h:28
 AliAnalysisMuMuMinv.h:29
 AliAnalysisMuMuMinv.h:30
 AliAnalysisMuMuMinv.h:31
 AliAnalysisMuMuMinv.h:32
 AliAnalysisMuMuMinv.h:33
 AliAnalysisMuMuMinv.h:34
 AliAnalysisMuMuMinv.h:35
 AliAnalysisMuMuMinv.h:36
 AliAnalysisMuMuMinv.h:37
 AliAnalysisMuMuMinv.h:38
 AliAnalysisMuMuMinv.h:39
 AliAnalysisMuMuMinv.h:40
 AliAnalysisMuMuMinv.h:41
 AliAnalysisMuMuMinv.h:42
 AliAnalysisMuMuMinv.h:43
 AliAnalysisMuMuMinv.h:44
 AliAnalysisMuMuMinv.h:45
 AliAnalysisMuMuMinv.h:46
 AliAnalysisMuMuMinv.h:47
 AliAnalysisMuMuMinv.h:48
 AliAnalysisMuMuMinv.h:49
 AliAnalysisMuMuMinv.h:50
 AliAnalysisMuMuMinv.h:51
 AliAnalysisMuMuMinv.h:52
 AliAnalysisMuMuMinv.h:53
 AliAnalysisMuMuMinv.h:54
 AliAnalysisMuMuMinv.h:55
 AliAnalysisMuMuMinv.h:56
 AliAnalysisMuMuMinv.h:57
 AliAnalysisMuMuMinv.h:58
 AliAnalysisMuMuMinv.h:59
 AliAnalysisMuMuMinv.h:60
 AliAnalysisMuMuMinv.h:61
 AliAnalysisMuMuMinv.h:62
 AliAnalysisMuMuMinv.h:63
 AliAnalysisMuMuMinv.h:64
 AliAnalysisMuMuMinv.h:65
 AliAnalysisMuMuMinv.h:66
 AliAnalysisMuMuMinv.h:67
 AliAnalysisMuMuMinv.h:68
 AliAnalysisMuMuMinv.h:69
 AliAnalysisMuMuMinv.h:70
 AliAnalysisMuMuMinv.h:71
 AliAnalysisMuMuMinv.h:72