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 ALIHFEINCLUSIVESPECTRUMQA_H
#define ALIHFEINCLUSIVESPECTRUMQA_H

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


class TObjArray;
class TGraphErrors;
class TObject;


class AliHFEInclusiveSpectrumQA : public TNamed{
 public:

  enum Results_t{
    kDataProjection = 0,
    kCMProjection = 1,
    kBeforeSC = 2,
    kAfterSC = 3,
    kBeforeV0 = 4,
    kAfterV0 = 5,
    kV0Efficiency = 6,
    kBeforePE = 7,
    kAfterPE = 8,
    kPEfficiency = 9,
    kBeforeMCE = 10,
    kAfterMCE = 11,
    kMCEfficiency = 12,
    kBeforeU = 13,
    kAfterU = 14,
    kResidualU = 15,
    kUEfficiency = 16,
    kFinalResultUnfolded = 17,
    kFinalResultDirectEfficiency = 18,
    kBeforeSPB = 19,
    kAfterSPB = 20,
    kBeforeSCND = 21,
    kAfterSCND = 22,
    kHadronContaminationND = 23,
    kBeforeV0ND = 24,
    kAfterV0ND = 25,
    kV0EfficiencyND = 26,
    kBeforePEND = 27,
    kAfterPEND = 28,
    kPEfficiencyND = 29,
    kBeforeMCEND = 30,
    kAfterMCEND = 31,
    kMCEfficiencyND = 32,
    kNResults = 33
  };


  enum EfficiencyCorrection_t{
    kV0 = 0,
    kMC = 1,
    kParametrized = 2,
    kNTypeEfficiency = 3
  };
   
  void AddResultAt(TObject *obj,Int_t index);
  TObject *GetResult(Int_t index);
  
  void DrawProjections() const;
  void DrawSubtractContamination() const;
  void DrawSubtractContaminationND() const;
  void DrawSubtractPhotonicBackground() const;
  void DrawCorrectWithEfficiency(Int_t typeeff) const;
  void DrawCorrectWithEfficiencyND(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);
  

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

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

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

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