void SetPairCut(AliHBTPairCut* cut);
virtual AliHBTPair* CheckPair(AliHBTPair* pair);
-
+ void SetWriteNumAndDen(Bool_t flag = kFALSE){fWriteNumAndDen = flag;}
protected:
virtual void BuildHistos() = 0;//builds default histograms
AliHBTPairCut* fPairCut; //pair cut
-
- ClassDef(AliHBTFunction,2)
+ Bool_t fWriteNumAndDen; //flag indicating whether numerator and denominator should be writted together with a result
+ ClassDef(AliHBTFunction,3)
};
/******************************************************************/
inline AliHBTPair* AliHBTFunction::CheckPair(AliHBTPair* pair)
return pair;
}
+/******************************************************************/
+/******************************************************************/
+/******************************************************************/
+class AliHBTCorrelFunction
+{
+ public:
+ AliHBTCorrelFunction():fRatio(0x0){}
+ AliHBTCorrelFunction(const AliHBTCorrelFunction& in):fRatio((in.fRatio)?(TH1*)in.fRatio->Clone():0x0){}
+ virtual ~AliHBTCorrelFunction(){delete fRatio;}
+
+ AliHBTCorrelFunction& operator=(const AliHBTCorrelFunction& in);
+
+ protected:
+ TH1* fRatio;//!pointer to the ratio(result)
+
+ ClassDef(AliHBTCorrelFunction,1)
+};
+
/******************************************************************/
/******************************************************************/
/******************************************************************/
virtual void Init() = 0;
virtual void Write() = 0;
+ virtual const char* Name() = 0;
ClassDef(AliHBTOnePairFctn,2)
};
virtual void Init() = 0;
virtual void Write() = 0;
+ virtual const char* Name() = 0;
ClassDef(AliHBTTwoPairFctn,2)
Int_t nzbins, Float_t zmax, Float_t zmin);
virtual void BuildHistos();
- TH3D* fNumerator; // Numerator histogram
- TH3D* fDenominator; // Denominator histogram
+ TH3F* fNumerator; // Numerator histogram
+ TH3F* fDenominator; // Denominator histogram
//definition of area used for scaling -> Scale is calculated this
//way that after division tale is on 1
void ProcessDiffEventParticles(AliHBTPair* pair);
void Write(){WriteFunction();}
void Init(){InitFunction();}
+ const char* Name(){return GetName();}
+
protected:
//retruns velue to be histogrammed
virtual Double_t GetValue(AliHBTPair* pair) = 0;
void ProcessDiffEventParticles(AliHBTPair* pair);
void Write(){WriteFunction();}
void Init(){InitFunction();}
+ const char* Name(){return GetName();}
protected:
virtual void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y) = 0;
ClassDef(AliHBTOnePairFctn2D,2)
void ProcessDiffEventParticles(AliHBTPair* pair);
void Write(){WriteFunction();}
void Init(){InitFunction();}
+ const char* Name(){return GetName();}
protected:
virtual void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) = 0;
ClassDef(AliHBTOnePairFctn3D,2)
void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
void Write(){WriteFunction();}
void Init(){InitFunction();}
+ const char* Name(){return GetName();}
protected:
virtual Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) = 0;
void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
void Write(){WriteFunction();}
void Init(){InitFunction();}
+ const char* Name(){return GetName();}
protected:
virtual void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) = 0;
void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
void Write(){WriteFunction();}
void Init(){InitFunction();}
+ const char* Name(){return GetName();}
protected:
virtual void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y, Double_t& z) = 0;