#ifndef ALIHFEBEAUTYSPECTRUM_H
#define ALIHFEBEAUTYSPECTRUM_H
#include "AliHFECorrectSpectrumBase.h"
class TGraphErrors;
class TObject;
class TH1;
class TF1;
class TList;
class TObjArray;
class AliCFContainer;
class AliHFEcontainer;
class AliCFDataGrid;
class AliCFEffGrid;
class AliHFEInclusiveSpectrumQA;
class AliHFEBeautySpectrumQA;
class AliHFEBeautySpectrum : public AliHFECorrectSpectrumBase{
public:
enum{
kElecBgSources = 9,
kBgLevels = 3,
kBgPtBins = 44,
kSignalPtBins = 35,
kCentrality = 12
};
AliHFEBeautySpectrum(const char* name);
~AliHFEBeautySpectrum();
virtual Bool_t Init(const AliHFEcontainer *datahfecontainer, const AliHFEcontainer *mchfecontainer, const AliHFEcontainer *bghfecontainer=0x0, const AliHFEcontainer * = 0x0,AliCFContainer * = 0x0);
virtual Bool_t Correct(Bool_t subtractcontamination=kTRUE, Bool_t =kFALSE);
AliCFDataGrid *SubtractBackground(Bool_t setBackground = kFALSE);
AliCFDataGrid *CorrectParametrizedEfficiency(AliCFDataGrid* const bgsubpectrum = 0x0);
THnSparse *Unfold(AliCFDataGrid* const bgsubpectrum = 0x0);
void UnfoldBG(AliCFDataGrid* const bgsubpectrum);
AliCFDataGrid *CorrectForEfficiency(AliCFDataGrid* const bgsubpectrum = 0x0);
void SetPbPbAnalysis(Bool_t isPbPb = kFALSE) { fBeamType=(Char_t) isPbPb; };
void SetEtaSyst(Bool_t etaSyst = kTRUE) { fEtaSyst = etaSyst; };
void SetParameterizedEff(AliCFContainer *container, AliCFContainer *containermb, AliCFContainer *containeresd, AliCFContainer *containeresdmb, Int_t *dimensions);
void SetNumberOfMCEvents(Int_t nEvents) { fNMCEvents = nEvents; };
void SetNumberOfMC2Events(Int_t nEvents) { fNMCbgEvents = nEvents; };
void SetUnSetCorrelatedErrors(Bool_t unsetcorrelatederrors) {fUnSetCorrelatedErrors = unsetcorrelatederrors;};
void SetFillMoreCorrelationMatrix(Bool_t fillMoreCorrelationMatrix) { fFillMoreCorrelationMatrix = fillMoreCorrelationMatrix;}
void SetNCentralityBinAtTheEnd(Int_t nCentralityBinAtTheEnd) {fNCentralityBinAtTheEnd = nCentralityBinAtTheEnd; };
void SetLowHighBoundaryCentralityBinAtTheEnd(Int_t low, Int_t high, Int_t i) { fLowBoundaryCentralityBinAtTheEnd[i] = low; fHighBoundaryCentralityBinAtTheEnd[i] = high;};
void CallInputFileForBeauty2ndMethod();
void SetInputFileForBeauty2ndMethod(const char *filenameb = "BSpectrum2ndmethod.root"){fkBeauty2ndMethodfilename = filenameb; };
void SetBeautyAnalysis2ndMethod(Bool_t beauty2ndmethod) { fBeauty2ndMethod = beauty2ndmethod; }
void SetIPEffCombinedSamples(Bool_t ipEffCombinedSamples) { fIPEffCombinedSamples = ipEffCombinedSamples; }
void SetHadronEffbyIPcut(THnSparseF* hsHadronEffbyIPcut) { fHadronEffbyIPcut = hsHadronEffbyIPcut;};
void SetNonHFEsyst(Bool_t syst){ fNonHFEsyst = syst; };
void SetDumpToFile(Bool_t dumpToFile) { fDumpToFile=dumpToFile; };
void SetDebugLevel(Int_t debugLevel, Bool_t writeToFile = kFALSE) { fDebugLevel = debugLevel; fWriteToFile = writeToFile; };
void SetUnfoldBG() { fUnfoldBG = kTRUE; };
AliCFDataGrid* GetRawBspectra2ndMethod();
AliCFDataGrid* GetCharmBackground();
AliCFDataGrid* GetNonHFEBackground(Int_t decay = 0, Int_t source = 0);
THnSparse* GetCharmWeights(Int_t centBin);
THnSparse* GetBeautyIPEff(Bool_t isMCpt);
THnSparse* GetPIDxIPEff(Int_t source);
void CalculateNonHFEsyst();
void EnableIPanaHadronBgSubtract() { fIPanaHadronBgSubtract = kTRUE; };
void EnableIPanaCharmBgSubtract() { fIPanaCharmBgSubtract = kTRUE; };
void EnableIPanaNonHFEBgSubtract() { fIPanaNonHFEBgSubtract = kTRUE; };
void EnableIPParameterizedEff() { fIPParameterizedEff = kTRUE; };
protected:
void AddTemporaryObject(TObject *cont);
void ClearObject(TObject *o);
private:
AliHFEBeautySpectrum(const AliHFEBeautySpectrum &ref);
AliHFEBeautySpectrum &operator=(const AliHFEBeautySpectrum &ref);
virtual void Copy(TObject &o) const;
AliHFEBeautySpectrumQA *fQA;
TList *fTemporaryObjects;
AliCFDataGrid *fBackground;
TF1 *fEfficiencyTOFPIDD;
TF1 *fEfficiencyesdTOFPIDD;
TF1 *fEfficiencyIPCharmD;
TF1 *fEfficiencyIPBeautyD;
TF1 *fEfficiencyIPBeautyesdD;
TF1 *fEfficiencyIPConversionD;
TF1 *fEfficiencyIPNonhfeD;
TF1 *fNonHFEbg;
THnSparseF *fWeightCharm;
AliCFContainer *fConvSourceContainer[kElecBgSources][kBgLevels];
AliCFContainer *fNonHFESourceContainer[kElecBgSources][kBgLevels];
Bool_t fInclusiveSpectrum;
Bool_t fDumpToFile;
Bool_t fUnSetCorrelatedErrors;
Bool_t fIPanaHadronBgSubtract;
Bool_t fIPanaCharmBgSubtract;
Bool_t fIPanaNonHFEBgSubtract;
Bool_t fIPParameterizedEff;
Bool_t fNonHFEsyst;
Bool_t fBeauty2ndMethod;
Bool_t fIPEffCombinedSamples;
Int_t fNMCEvents;
Int_t fNMCbgEvents;
Int_t fNCentralityBinAtTheEnd;
Int_t fLowBoundaryCentralityBinAtTheEnd[20];
Int_t fHighBoundaryCentralityBinAtTheEnd[20];
Bool_t fFillMoreCorrelationMatrix;
THnSparseF *fHadronEffbyIPcut;
TH1D *fEfficiencyCharmSigD;
TH1D *fEfficiencyBeautySigD;
TH1D *fEfficiencyBeautySigesdD;
TH1D *fConversionEff;
TH1D *fNonHFEEff;
TH1D *fCharmEff;
TH1D *fBeautyEff;
TH1D *fConversionEffbgc;
TH1D *fNonHFEEffbgc;
TH1D *fBSpectrum2ndMethod;
const char *fkBeauty2ndMethodfilename;
Char_t fBeamType;
Bool_t fEtaSyst;
Int_t fDebugLevel;
Bool_t fWriteToFile;
Bool_t fUnfoldBG;
ClassDef(AliHFEBeautySpectrum, 1)
};
#endif
AliHFEBeautySpectrum.h:10 AliHFEBeautySpectrum.h:11 AliHFEBeautySpectrum.h:12 AliHFEBeautySpectrum.h:13 AliHFEBeautySpectrum.h:14 AliHFEBeautySpectrum.h:15 AliHFEBeautySpectrum.h:16 AliHFEBeautySpectrum.h:17 AliHFEBeautySpectrum.h:18 AliHFEBeautySpectrum.h:19 AliHFEBeautySpectrum.h:20 AliHFEBeautySpectrum.h:21 AliHFEBeautySpectrum.h:22 AliHFEBeautySpectrum.h:23 AliHFEBeautySpectrum.h:24 AliHFEBeautySpectrum.h:25 AliHFEBeautySpectrum.h:26 AliHFEBeautySpectrum.h:27 AliHFEBeautySpectrum.h:28 AliHFEBeautySpectrum.h:29 AliHFEBeautySpectrum.h:30 AliHFEBeautySpectrum.h:31 AliHFEBeautySpectrum.h:32 AliHFEBeautySpectrum.h:33 AliHFEBeautySpectrum.h:34 AliHFEBeautySpectrum.h:35 AliHFEBeautySpectrum.h:36 AliHFEBeautySpectrum.h:37 AliHFEBeautySpectrum.h:38 AliHFEBeautySpectrum.h:39 AliHFEBeautySpectrum.h:40 AliHFEBeautySpectrum.h:41 AliHFEBeautySpectrum.h:42 AliHFEBeautySpectrum.h:43 AliHFEBeautySpectrum.h:44 AliHFEBeautySpectrum.h:45 AliHFEBeautySpectrum.h:46 AliHFEBeautySpectrum.h:47 AliHFEBeautySpectrum.h:48 AliHFEBeautySpectrum.h:49 AliHFEBeautySpectrum.h:50 AliHFEBeautySpectrum.h:51 AliHFEBeautySpectrum.h:52 AliHFEBeautySpectrum.h:53 AliHFEBeautySpectrum.h:54 AliHFEBeautySpectrum.h:55 AliHFEBeautySpectrum.h:56 AliHFEBeautySpectrum.h:57 AliHFEBeautySpectrum.h:58 AliHFEBeautySpectrum.h:59 AliHFEBeautySpectrum.h:60 AliHFEBeautySpectrum.h:61 AliHFEBeautySpectrum.h:62 AliHFEBeautySpectrum.h:63 AliHFEBeautySpectrum.h:64 AliHFEBeautySpectrum.h:65 AliHFEBeautySpectrum.h:66 AliHFEBeautySpectrum.h:67 AliHFEBeautySpectrum.h:68 AliHFEBeautySpectrum.h:69 AliHFEBeautySpectrum.h:70 AliHFEBeautySpectrum.h:71 AliHFEBeautySpectrum.h:72 AliHFEBeautySpectrum.h:73 AliHFEBeautySpectrum.h:74 AliHFEBeautySpectrum.h:75 AliHFEBeautySpectrum.h:76 AliHFEBeautySpectrum.h:77 AliHFEBeautySpectrum.h:78 AliHFEBeautySpectrum.h:79 AliHFEBeautySpectrum.h:80 AliHFEBeautySpectrum.h:81 AliHFEBeautySpectrum.h:82 AliHFEBeautySpectrum.h:83 AliHFEBeautySpectrum.h:84 AliHFEBeautySpectrum.h:85 AliHFEBeautySpectrum.h:86 AliHFEBeautySpectrum.h:87 AliHFEBeautySpectrum.h:88 AliHFEBeautySpectrum.h:89 AliHFEBeautySpectrum.h:90 AliHFEBeautySpectrum.h:91 AliHFEBeautySpectrum.h:92 AliHFEBeautySpectrum.h:93 AliHFEBeautySpectrum.h:94 AliHFEBeautySpectrum.h:95 AliHFEBeautySpectrum.h:96 AliHFEBeautySpectrum.h:97 AliHFEBeautySpectrum.h:98 AliHFEBeautySpectrum.h:99 AliHFEBeautySpectrum.h:100 AliHFEBeautySpectrum.h:101 AliHFEBeautySpectrum.h:102 AliHFEBeautySpectrum.h:103 AliHFEBeautySpectrum.h:104 AliHFEBeautySpectrum.h:105 AliHFEBeautySpectrum.h:106 AliHFEBeautySpectrum.h:107 AliHFEBeautySpectrum.h:108 AliHFEBeautySpectrum.h:109 AliHFEBeautySpectrum.h:110 AliHFEBeautySpectrum.h:111 AliHFEBeautySpectrum.h:112 AliHFEBeautySpectrum.h:113 AliHFEBeautySpectrum.h:114 AliHFEBeautySpectrum.h:115 AliHFEBeautySpectrum.h:116 AliHFEBeautySpectrum.h:117 AliHFEBeautySpectrum.h:118 AliHFEBeautySpectrum.h:119 AliHFEBeautySpectrum.h:120 AliHFEBeautySpectrum.h:121 AliHFEBeautySpectrum.h:122 AliHFEBeautySpectrum.h:123 AliHFEBeautySpectrum.h:124 AliHFEBeautySpectrum.h:125 AliHFEBeautySpectrum.h:126 AliHFEBeautySpectrum.h:127 AliHFEBeautySpectrum.h:128 AliHFEBeautySpectrum.h:129 AliHFEBeautySpectrum.h:130 AliHFEBeautySpectrum.h:131 AliHFEBeautySpectrum.h:132 AliHFEBeautySpectrum.h:133 AliHFEBeautySpectrum.h:134 AliHFEBeautySpectrum.h:135 AliHFEBeautySpectrum.h:136 AliHFEBeautySpectrum.h:137 AliHFEBeautySpectrum.h:138 AliHFEBeautySpectrum.h:139 AliHFEBeautySpectrum.h:140 AliHFEBeautySpectrum.h:141 AliHFEBeautySpectrum.h:142 AliHFEBeautySpectrum.h:143 AliHFEBeautySpectrum.h:144 AliHFEBeautySpectrum.h:145 AliHFEBeautySpectrum.h:146 AliHFEBeautySpectrum.h:147 AliHFEBeautySpectrum.h:148 AliHFEBeautySpectrum.h:149 AliHFEBeautySpectrum.h:150 AliHFEBeautySpectrum.h:151 AliHFEBeautySpectrum.h:152 AliHFEBeautySpectrum.h:153 AliHFEBeautySpectrum.h:154 AliHFEBeautySpectrum.h:155 AliHFEBeautySpectrum.h:156 AliHFEBeautySpectrum.h:157 AliHFEBeautySpectrum.h:158 AliHFEBeautySpectrum.h:159 AliHFEBeautySpectrum.h:160 AliHFEBeautySpectrum.h:161 AliHFEBeautySpectrum.h:162 AliHFEBeautySpectrum.h:163 AliHFEBeautySpectrum.h:164 AliHFEBeautySpectrum.h:165 AliHFEBeautySpectrum.h:166 AliHFEBeautySpectrum.h:167 AliHFEBeautySpectrum.h:168 AliHFEBeautySpectrum.h:169 AliHFEBeautySpectrum.h:170 AliHFEBeautySpectrum.h:171 AliHFEBeautySpectrum.h:172 AliHFEBeautySpectrum.h:173 AliHFEBeautySpectrum.h:174 AliHFEBeautySpectrum.h:175 AliHFEBeautySpectrum.h:176 AliHFEBeautySpectrum.h:177