#ifndef ALIDIELECTRONSPECTRUM_H
#define ALIDIELECTRONSPECTRUM_H
#include <TObjArray.h>
#include <TString.h>
#include <TNamed.h>
class AliCFGridSparse;
class AliDielectronSignalBase;
class AliCFGridSparse;
class AliCFContainer;
class AliDielectronSpectrum : public TNamed {
public:
AliDielectronSpectrum();
AliDielectronSpectrum(const char*name, const char* title);
virtual ~AliDielectronSpectrum();
void AddMethod(AliDielectronSignalBase * const method) {fSignalMethods.Add(method);}
void SetCorrectionContainer(AliCFContainer * const container, Int_t nominator, Int_t denominator);
void SetSignalContainer(AliCFContainer * const container, Int_t step);
void SetVariables(const char* vars) { fVariables=vars; }
void SetStepForSignal(Bool_t step=kTRUE) { fStepSignal=step; }
void SetStepForSignificance(Bool_t step=kTRUE) { fStepSignificance=step; }
void SetStepForSignalOverBackground(Bool_t step=kTRUE) { fStepSOB=step; }
void SetStepForMass(Bool_t step=kTRUE) { fStepMass=step; }
void SetStepForMassWidth(Bool_t step=kTRUE) { fStepMassWidth=step; }
void SetNoOwnerSpectrum(Bool_t noOwner=kTRUE) { fOwnerSpectrum=!noOwner; }
void SetVisualDebug(Bool_t vis=kTRUE) { fVisualDebug=vis; }
AliCFContainer* GetSpectrumContainer() const { return fCFSpectrum; }
AliCFGridSparse* GetCorrectionMatrix() const { return fCFCorrMatrix; }
void Process();
private:
AliCFContainer *fCFSignal;
AliCFContainer *fCFCorrection;
AliCFContainer *fCFSpectrum;
AliCFGridSparse *fCFCorrMatrix;
Bool_t fStepSignal;
Bool_t fStepSignificance;
Bool_t fStepSOB;
Bool_t fStepMass;
Bool_t fStepMassWidth;
Int_t fSignalStep;
Int_t fCorrNom;
Int_t fCorrDenom;
TObjArray fSignalMethods;
TString fVariables;
Bool_t fOwnerSpectrum;
Bool_t fVisualDebug;
Int_t fNvars;
Int_t *fVars;
Int_t *fNbins;
Int_t *fCurrentBins;
Double_t *fCurrentPositions;
void Fill(Int_t *bin, Int_t step, Double_t value, Double_t error);
Bool_t SetupVariables();
void CreateCorrectionMatrix();
void CreateCFSpectrum();
void ExtractSignalInBins(Int_t variable=0);
AliDielectronSpectrum(const AliDielectronSpectrum &c);
AliDielectronSpectrum &operator=(const AliDielectronSpectrum &c);
ClassDef(AliDielectronSpectrum,1)
};
inline void AliDielectronSpectrum::SetCorrectionContainer(AliCFContainer * const container, Int_t nominator, Int_t denominator)
{
fCFCorrection=container;
fCorrNom=nominator;
fCorrDenom=denominator;
}
inline void AliDielectronSpectrum::SetSignalContainer(AliCFContainer * const container, Int_t step)
{
fCFSignal=container;
fSignalStep=step;
}
#endif
AliDielectronSpectrum.h:1 AliDielectronSpectrum.h:2 AliDielectronSpectrum.h:3 AliDielectronSpectrum.h:4 AliDielectronSpectrum.h:5 AliDielectronSpectrum.h:6 AliDielectronSpectrum.h:7 AliDielectronSpectrum.h:8 AliDielectronSpectrum.h:9 AliDielectronSpectrum.h:10 AliDielectronSpectrum.h:11 AliDielectronSpectrum.h:12 AliDielectronSpectrum.h:13 AliDielectronSpectrum.h:14 AliDielectronSpectrum.h:15 AliDielectronSpectrum.h:16 AliDielectronSpectrum.h:17 AliDielectronSpectrum.h:18 AliDielectronSpectrum.h:19 AliDielectronSpectrum.h:20 AliDielectronSpectrum.h:21 AliDielectronSpectrum.h:22 AliDielectronSpectrum.h:23 AliDielectronSpectrum.h:24 AliDielectronSpectrum.h:25 AliDielectronSpectrum.h:26 AliDielectronSpectrum.h:27 AliDielectronSpectrum.h:28 AliDielectronSpectrum.h:29 AliDielectronSpectrum.h:30 AliDielectronSpectrum.h:31 AliDielectronSpectrum.h:32 AliDielectronSpectrum.h:33 AliDielectronSpectrum.h:34 AliDielectronSpectrum.h:35 AliDielectronSpectrum.h:36 AliDielectronSpectrum.h:37 AliDielectronSpectrum.h:38 AliDielectronSpectrum.h:39 AliDielectronSpectrum.h:40 AliDielectronSpectrum.h:41 AliDielectronSpectrum.h:42 AliDielectronSpectrum.h:43 AliDielectronSpectrum.h:44 AliDielectronSpectrum.h:45 AliDielectronSpectrum.h:46 AliDielectronSpectrum.h:47 AliDielectronSpectrum.h:48 AliDielectronSpectrum.h:49 AliDielectronSpectrum.h:50 AliDielectronSpectrum.h:51 AliDielectronSpectrum.h:52 AliDielectronSpectrum.h:53 AliDielectronSpectrum.h:54 AliDielectronSpectrum.h:55 AliDielectronSpectrum.h:56 AliDielectronSpectrum.h:57 AliDielectronSpectrum.h:58 AliDielectronSpectrum.h:59 AliDielectronSpectrum.h:60 AliDielectronSpectrum.h:61 AliDielectronSpectrum.h:62 AliDielectronSpectrum.h:63 AliDielectronSpectrum.h:64 AliDielectronSpectrum.h:65 AliDielectronSpectrum.h:66 AliDielectronSpectrum.h:67 AliDielectronSpectrum.h:68 AliDielectronSpectrum.h:69 AliDielectronSpectrum.h:70 AliDielectronSpectrum.h:71 AliDielectronSpectrum.h:72 AliDielectronSpectrum.h:73 AliDielectronSpectrum.h:74 AliDielectronSpectrum.h:75 AliDielectronSpectrum.h:76 AliDielectronSpectrum.h:77 AliDielectronSpectrum.h:78 AliDielectronSpectrum.h:79 AliDielectronSpectrum.h:80 AliDielectronSpectrum.h:81 AliDielectronSpectrum.h:82 AliDielectronSpectrum.h:83 AliDielectronSpectrum.h:84 AliDielectronSpectrum.h:85 AliDielectronSpectrum.h:86 AliDielectronSpectrum.h:87 AliDielectronSpectrum.h:88 AliDielectronSpectrum.h:89 AliDielectronSpectrum.h:90 AliDielectronSpectrum.h:91 AliDielectronSpectrum.h:92 AliDielectronSpectrum.h:93 AliDielectronSpectrum.h:94 AliDielectronSpectrum.h:95 AliDielectronSpectrum.h:96 AliDielectronSpectrum.h:97 AliDielectronSpectrum.h:98 AliDielectronSpectrum.h:99 AliDielectronSpectrum.h:100 AliDielectronSpectrum.h:101 AliDielectronSpectrum.h:102 AliDielectronSpectrum.h:103 AliDielectronSpectrum.h:104 AliDielectronSpectrum.h:105 AliDielectronSpectrum.h:106 AliDielectronSpectrum.h:107 AliDielectronSpectrum.h:108 AliDielectronSpectrum.h:109 AliDielectronSpectrum.h:110 AliDielectronSpectrum.h:111 AliDielectronSpectrum.h:112 AliDielectronSpectrum.h:113 AliDielectronSpectrum.h:114 AliDielectronSpectrum.h:115 AliDielectronSpectrum.h:116 AliDielectronSpectrum.h:117 AliDielectronSpectrum.h:118 AliDielectronSpectrum.h:119 AliDielectronSpectrum.h:120 AliDielectronSpectrum.h:121 AliDielectronSpectrum.h:122