ROOT logo
/**************************************************************************
* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
*                                                                        *
* Author: The ALICE Off-line Project.                                    *
* Contributors are mentioned in the code where appropriate.              *
*                                                                        *
* Permission to use, copy, modify and distribute this software and its   *
* documentation strictly for non-commercial purposes is hereby granted   *
* without fee, provided that the above copyright notice appears in all   *
* copies and that both the copyright notice and this permission notice   *
* appear in the supporting documentation. The authors make no claims     *
* about the suitability of this software for any purpose. It is          *
* provided "as is" without express or implied warranty.                  *
**************************************************************************/
//
// Class for spectrum correction
// Subtraction of hadronic background, Unfolding of the data and
// Renormalization done here
// For more information see the implementation file
//
#ifndef ALIHFEBEAUTYSPECTRUMQA_H
#define ALIHFEBEAUTYSPECTRUMQA_H

#ifndef ROOT_TNamed
#include <TNamed.h>
#endif


class TObjArray;
class TGraphErrors;
class TObject;


class AliHFEBeautySpectrumQA : public TNamed{
 public:

  enum Results_t{
    kDataProjection = 0,
    kCMProjection = 1,
    kBeforeSC = 2,
    kAfterSC = 3,
    kBeforePE = 4,
    kAfterPE = 5,
    kPEfficiency = 6,
    kBeforeMCE = 7,
    kAfterMCE = 8,
    kMCEfficiency = 9,
    kBeforeU = 10,
    kAfterU = 11,
    kResidualU = 12,
    kUEfficiency = 13,
    kFinalResultUnfolded = 14,
    kFinalResultDirectEfficiency = 15,
    kFinalResultUnfSparse = 16,
    kFinalResultDirectEffSparse = 17,
    kMeasBG = 18,
    kNResults = 19
  };


  enum EfficiencyCorrection_t{
    kMC = 0,
    kParametrized = 1,
    kNTypeEfficiency = 2
  };
   
  void AddResultAt(TObject *obj,Int_t index);
  TObject *GetResult(Int_t index);
  
  void DrawProjections() const;
  void DrawSubtractContamination() const;
  void DrawCorrectWithEfficiency(Int_t typeeff) const;
  void DrawUnfolding() const;
  void DrawResult();
  
  void SetStyle() const;
  void SetWriteToFile(Bool_t writetofile) {fWriteToFile=writetofile; };
  void SetPtMax(Double_t ptmax) {fPtMax = ptmax; };


  TH1D *DivideSpectra(TGraphErrors *ga, TGraphErrors *gb);
  

  AliHFEBeautySpectrumQA();
  AliHFEBeautySpectrumQA(const char* name);
  ~AliHFEBeautySpectrumQA();
  
  protected:
  
  private:

  static const Char_t* fgkNameCanvas[kNTypeEfficiency];     // Name of canvas

    AliHFEBeautySpectrumQA(const AliHFEBeautySpectrumQA &);
    AliHFEBeautySpectrumQA &operator=(const AliHFEBeautySpectrumQA &);
 
    Double_t   fPtMax;             // Pt max to plot
    TObjArray *fListOfResult;     // ListOfResults
    Bool_t fWriteToFile;           // Write plots to eps files
   
    ClassDef(AliHFEBeautySpectrumQA, 1) 
};
#endif

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